diff --git a/xos/synchronizer/model_policies/model_policy_rcordsubscriber.py b/xos/synchronizer/model_policies/model_policy_rcordsubscriber.py
index 14e79b5..f50c7d7 100644
--- a/xos/synchronizer/model_policies/model_policy_rcordsubscriber.py
+++ b/xos/synchronizer/model_policies/model_policy_rcordsubscriber.py
@@ -24,6 +24,10 @@
 
     def handle_update(self, si):
 
+        if si.status == "pre-provisioned":
+            self.logger.debug("MODEL_POLICY: Skipping chain creation as RCORDSubscriber %s is in 'pre-provisioned' state" % si.id)
+            return
+
         chain = si.subscribed_links.all()
 
         # Already has a chain
diff --git a/xos/synchronizer/model_policies/test_model_policy_rcordsubscriber.py b/xos/synchronizer/model_policies/test_model_policy_rcordsubscriber.py
index 85d89c9..895a254 100644
--- a/xos/synchronizer/model_policies/test_model_policy_rcordsubscriber.py
+++ b/xos/synchronizer/model_policies/test_model_policy_rcordsubscriber.py
@@ -75,12 +75,29 @@
     def tearDown(self):
         sys.path = self.sys_path_save
 
+    def test_update_pre_provisione(self):
+        si = self.si
+        si.status = "pre-provisioned"
+        self.policy.handle_create(si)
+
+        with patch.object(VOLTServiceInstance, "save", autospec=True) as save_volt, \
+             patch.object(ServiceInstanceLink, "save", autospec=True) as save_link:
+
+            self.policy.handle_create(si)
+            self.assertEqual(save_link.call_count, 0)
+            self.assertEqual(save_volt.call_count, 0)
+
     def test_update_and_do_nothing(self):
         si = self.si
         si.is_new = False
         si.subscribed_links.all.return_value = ["already", "have", "a", "chain"]
-        self.policy.handle_create(si)
-        # NOTE assert that no models are created
+        
+        with patch.object(VOLTServiceInstance, "save", autospec=True) as save_volt, \
+             patch.object(ServiceInstanceLink, "save", autospec=True) as save_link:
+
+            self.policy.handle_create(si)
+            self.assertEqual(save_link.call_count, 0)
+            self.assertEqual(save_volt.call_count, 0)
 
     def test_create(self):
         volt = Mock()
