diff --git a/xos/cord/admin.py b/xos/cord/admin.py
index 9513893..d1d49b9 100644
--- a/xos/cord/admin.py
+++ b/xos/cord/admin.py
@@ -98,13 +98,13 @@
         if self.instance:
             self.fields['bbs_url'].initial = self.instance.bbs_url
             self.fields['bbs_server'].initial = self.instance.bbs_server
-            self.fields['backend_network_label'].initial = self.instance.client_network_label
+            self.fields['backend_network_label'].initial = self.instance.backend_network_label
             self.fields['bbs_slice'].initial = self.instance.bbs_slice
 
     def save(self, commit=True):
         self.instance.bbs_url = self.cleaned_data.get("bbs_url")
         self.instance.bbs_server = self.cleaned_data.get("bbs_server")
-        self.instance.client_network_label = self.cleaned_data.get("backend_network_label")
+        self.instance.backend_network_label = self.cleaned_data.get("backend_network_label")
         self.instance.bbs_slice = self.cleaned_data.get("bbs_slice")
         return super(VCPEServiceForm, self).save(commit=commit)
 
diff --git a/xos/cord/models.py b/xos/cord/models.py
index e219509..01b2de9 100644
--- a/xos/cord/models.py
+++ b/xos/cord/models.py
@@ -410,7 +410,7 @@
 
     simple_attributes = ( ("bbs_url", None),
                           ("bbs_server", None),
-                          ("client_network_label", "hpc_client"), )
+                          ("backend_network_label", "hpc_client"), )
 
     def __init__(self, *args, **kwargs):
         super(VCPEService, self).__init__(*args, **kwargs)
