diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
index 602e06b037b92ba3c9ff9b82ed7a4602a99b26f5..e398802dfb616ac3886225375dda03437c58bd62 100755
--- a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
+++ b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
@@ -130,7 +130,7 @@ class ResourceAssigner():
 
         otdb_id = specification_tree['otdb_id']
         status = specification_tree.get('state', '').lower()
-        if status != 'prescheduled':
+        if status not in ['approved', 'prescheduled']:  # For approved we only do a few checks and put it in the RADB
             logger.warn('skipping specification for task otdb_id=%s, because status=%s (not prescheduled)', otdb_id, status)
             return
 
@@ -233,6 +233,10 @@ class ResourceAssigner():
         taskId = result['task_id']
         logger.info('doAssignment: inserted specification (id=%s) and task (id=%s)' % (specificationId, taskId))
 
+        if status != 'prescheduled':  # should only happen for approved
+            logger.info('skipping resource assignment for task otdb_id=%s, because status=%s' % (otdb_id, status))
+            return
+
         task = None
         try:
             task = self.radbrpc.getTask(taskId)