diff --git a/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py b/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
index bda5dca95884460dd655f123642fab5070b5f177..4b30b94884a62b48caa56030ac25c8dbbf47da6a 100644
--- a/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
+++ b/SAS/TMSS/backend/src/tmss/tmssapp/models/specification.py
@@ -1268,8 +1268,8 @@ class TaskDraft(NamedCommon, TemplateSchemaMixin, ProjectPropertyMixin):
         '''
         # todo: when it was added, check if self.specifications_template.type.value == TaskType.Choices.OBSERVATION.value:
         try:
-            duration = self.specifications_doc["duration"]
-            return self.relative_start_time + datetime.timedelta(seconds=duration)
+            duration = datetime.timedelta(seconds=self.specifications_doc.get('duration', self.specifications_doc.get('target', {}).get('duration', 0)))
+            return self.relative_start_time + duration
         except:
             pass
         return self.relative_start_time