diff --git a/SAS/OTDB_Services/OTDBBusListener.py b/SAS/OTDB_Services/OTDBBusListener.py
index d699cf878a5119471812c357f12396c1e25a3bcb..65b740a38e470031a367216e774d54981cf784a1 100644
--- a/SAS/OTDB_Services/OTDBBusListener.py
+++ b/SAS/OTDB_Services/OTDBBusListener.py
@@ -93,6 +93,8 @@ class OTDBBusListener(AbstractBusListener):
             self.onObservationFinished(treeId, modificationTime)
         elif msg.content['state'] == 'aborted':
             self.onObservationAborted(treeId, modificationTime)
+        elif msg.content['state'] == 'obsolete':
+            self.onObservationObsolete(treeId, modificationTime)
 
     def onObservationDescribed(self, treeId, modificationTime):
         pass
@@ -130,4 +132,7 @@ class OTDBBusListener(AbstractBusListener):
     def onObservationAborted(self, treeId, modificationTime):
         pass
 
+    def onObservationObsolete(self, treeId, modificationTime):
+        pass
+
 __all__ = ["OTDBBusListener"]
diff --git a/SAS/ResourceAssignment/OTDBtoRATaskStatusPropagator/propagator.py b/SAS/ResourceAssignment/OTDBtoRATaskStatusPropagator/propagator.py
index eb8ce5cce69f236399ec135c71f7f07fe4cc3227..3b14e6046179d8d45912b616789c6fca4fd21b51 100644
--- a/SAS/ResourceAssignment/OTDBtoRATaskStatusPropagator/propagator.py
+++ b/SAS/ResourceAssignment/OTDBtoRATaskStatusPropagator/propagator.py
@@ -47,8 +47,8 @@ class OTDBtoRATaskStatusPropagator(OTDBBusListener):
 
     def _update_radb_task_status(self, otdb_id, task_status):
         try:
-            if task_status in ['approved', 'prescheduled']:
-                radb_task = self.radb.getTask(otdb_id=treeId)
+            if task_status in ['approved', 'prescheduled', 'obsolete']:
+                radb_task = self.radb.getTask(otdb_id=otdb_id)
                 if (radb_task and
                     radb_task['cluster'] == 'CEP4' and
                     radb_task['status'] in ['queued', 'active', 'completing']):
@@ -105,6 +105,9 @@ class OTDBtoRATaskStatusPropagator(OTDBBusListener):
     def onObservationConflict(self, treeId, modificationTime):
         self._update_radb_task_status(treeId, 'conflict')
 
+    def onObservationObsolete(self, treeId, modificationTime):
+        self._update_radb_task_status(treeId, 'obsolete')
+
     def onObservationPrescheduled(self, treeId, modificationTime):
         self._update_radb_task_status(treeId, 'prescheduled')