diff --git a/xos/synchronizer/models/models.py b/xos/synchronizer/models/models.py
index 5198db2..d5a3cc5 100644
--- a/xos/synchronizer/models/models.py
+++ b/xos/synchronizer/models/models.py
@@ -30,6 +30,7 @@
 
 import json
 
+
 class VOLTService(VOLTService_decl):
     class Meta:
         proxy = True
@@ -72,6 +73,7 @@
         """
         return TechnologyProfile.objects.get(technology=technology, profile_id=profile_id)
 
+
 class OLTDevice(OLTDevice_decl):
     class Meta:
         proxy = True
@@ -114,6 +116,7 @@
 
         super(OLTDevice, self).delete(*args, **kwargs)
 
+
 class ONUDevice(ONUDevice_decl):
     class Meta:
         proxy = True
@@ -125,6 +128,7 @@
 
         super(ONUDevice, self).delete(*args, **kwargs)
 
+
 class TechnologyProfile(TechnologyProfile_decl):
     class Meta:
         proxy = True
@@ -137,7 +141,7 @@
 
         # only synchronizer is allowed to update the model
         if not self.is_new and caller_kind != "synchronizer":
-            if not self.deleted:
+            if not self.deleted and len(self.diff.keys()) > 0:
                 existing = TechnologyProfile.objects.filter(id=self.id)
                 raise XOSValidationError('Modification operation is not allowed on Technology Profile [/%s/%s]. Delete it and add again' % (existing[0].technology, existing[0].profile_id))
 
