diff --git a/xos/synchronizers/new_base/SyncInstanceUsingAnsible.py b/xos/synchronizers/new_base/SyncInstanceUsingAnsible.py
index 1e037d2..e4e6119 100644
--- a/xos/synchronizers/new_base/SyncInstanceUsingAnsible.py
+++ b/xos/synchronizers/new_base/SyncInstanceUsingAnsible.py
@@ -209,7 +209,7 @@
 
                 fields = self.get_ansible_fields(instance)
 
-        fields["ansible_tag"] =  o.__class__.__name__ + "_" + str(o.id)
+        fields["ansible_tag"] = getattr(o, "ansible_tag", o.__class__.__name__ + "_" + str(o.id))
 
         # If 'o' defines a 'sync_attributes' list, then we'll copy those
         # attributes into the Ansible recipe's field list automatically.
@@ -256,7 +256,7 @@
             # sync to an XOS instance
             fields = self.get_ansible_fields(instance)
 
-            fields["ansible_tag"] =  o.__class__.__name__ + "_" + str(o.id)
+            fields["ansible_tag"] = getattr(o, "ansible_tag", o.__class__.__name__ + "_" + str(o.id))
 
         # If 'o' defines a 'sync_attributes' list, then we'll copy those
         # attributes into the Ansible recipe's field list automatically.
@@ -348,7 +348,7 @@
 
             #Run ansible playbook to update the routing table entries in the instance
             fields = self.get_ansible_fields(instance)
-            fields["ansible_tag"] =  obj.__class__.__name__ + "_" + str(obj.id) + "_service_composition"
+            fields["ansible_tag"] = getattr(obj, "ansible_tag", obj.__class__.__name__ + "_" + str(obj.id)) + "_service_composition"
             fields["src_intf_ip"] = src_ip
             fields["target_subnet"] = target_subnet
             #Template file is available under .../synchronizers/shared_templates
diff --git a/xos/xos_client/xosapi/orm.py b/xos/xos_client/xosapi/orm.py
index 69d37b0..1de0693 100644
--- a/xos/xos_client/xosapi/orm.py
+++ b/xos/xos_client/xosapi/orm.py
@@ -169,6 +169,10 @@
 
         return d
 
+    @property
+    def ansible_tag(self):
+        return "%s_%s" % (self._wrapped_class.__class__.__name__, self.id)
+
 class ORMQuerySet(list):
     """ Makes lists look like django querysets """
     def first(self):
@@ -286,6 +290,7 @@
         self.model_name = model_name
         self.objects = ORMObjectManager(stub, model_name, package_name)
 
+    @property
     def __name__(self):
         return self.model_name
 
