diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py b/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
index 7bc34ec5505292df9bbf092f6a5cef8b4ec47f03..5e7ac1e262f1b2e3f208f503d04e4b94c34b0714 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
@@ -301,6 +301,22 @@ class SchedulingConstraintsTemplate(Template):
 class TaskTemplate(Template):
     type = ForeignKey('TaskType', null=False, on_delete=PROTECT)
 
+    @property
+    def _need_to_auto_increment_version_number(self) -> bool:
+        '''override, because for TaskTemplates we are interested in the template being used by other instances except for TaskConnectors'''
+        if self.pk is None:
+            # this is a new instance, so we need a new version number
+            return True
+
+        for rel_obj in self._meta.related_objects:
+            if isinstance(rel_obj, TaskConnectorType):
+                # skip TaskConnectorType, because each TaskTemplate is being used by TaskConnectorType which is not very interesting.
+                # we're only interested in usage in mainly TaskDrafts
+                continue
+            if rel_obj.related_model.objects.filter(**{rel_obj.field.attname: self}).count() > 0:
+                return True
+        return False
+
     def save(self, force_insert=False, force_update=False, using=None, update_fields=None):
         if self._need_to_auto_increment_version_number and self.pk is not None:
             # this is an updated version of this template