diff --git a/xos/cord/models.py b/xos/cord/models.py
index 44ced17..483b76b 100644
--- a/xos/cord/models.py
+++ b/xos/cord/models.py
@@ -197,9 +197,6 @@
         proxy = True
 
     def allocate_bbs_account(self):
-        # XXX fixme XXX
-        return "bbs01@onlab.us"
-
         vcpes = VCPETenant.get_tenant_objects().all()
         bbs_accounts = [vcpe.bbs_account for vcpe in vcpes]
 
@@ -643,7 +640,9 @@
     KIND = "vBNG"
 
     default_attributes = {"routeable_subnet": "",
-                          "mapped_ip": ""}
+                          "mapped_ip": "",
+                          "mapped_mac": "",
+                          "mapped_hostname": ""}
 
     @property
     def routeable_subnet(self):
@@ -660,3 +659,19 @@
     @mapped_ip.setter
     def mapped_ip(self, value):
         self.set_attribute("mapped_ip", value)
+
+    @property
+    def mapped_mac(self):
+        return self.get_attribute("mapped_mac", self.default_attributes["mapped_mac"])
+
+    @mapped_mac.setter
+    def mapped_mac(self, value):
+        self.set_attribute("mapped_mac", value)
+
+    @property
+    def mapped_hostname(self):
+        return self.get_attribute("mapped_hostname", self.default_attributes["mapped_hostname"])
+
+    @mapped_hostname.setter
+    def mapped_hostname(self, value):
+        self.set_attribute("mapped_hostname", value)
diff --git a/xos/observers/vcpe/steps/sync_vcpetenant.py b/xos/observers/vcpe/steps/sync_vcpetenant.py
index 309d866..d2afed5 100644
--- a/xos/observers/vcpe/steps/sync_vcpetenant.py
+++ b/xos/observers/vcpe/steps/sync_vcpetenant.py
@@ -113,7 +113,7 @@
         run_template_ssh(self.template_name, fields)
 
         if o.url_filter_enable:
-            if (str(o.service_specific_id) != "0"):
+            if (str(o.service_specific_id) != "SYNCME"):
                 # XXX FIXME
                 # Also fix the spot in cord/models.py
                 logger.info("skipping sync of URL filter for SSID %s" % str(o.service_specific_id))
