diff --git a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
index a85e30fcb723de76c46bbcdad8d47a2f946f0bb9..d399f5f049b099008d54d64eff9c915e00a1763a 100755
--- a/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
+++ b/SAS/ResourceAssignment/ResourceAssigner/lib/assignment.py
@@ -207,8 +207,13 @@ class ResourceAssigner():
             logger.info('skipping resource assignment for CEP4 task otdb_id=%s because status=%s' % (otdb_id, status))
             return
 
-        needed = self.getNeededResouces(specification_tree)
-        logger.info('doAssignment: getNeededResouces=%s' % (needed,))
+        try:
+            needed = self.getNeededResouces(specification_tree)
+            logger.info('doAssignment: getNeededResouces=%s' % (needed,))
+        except Exception as e:
+            logger.error(e)
+            self.radbrpc.updateTask(taskId, status='error')
+            self._sendNotification(task, 'error')
 
         if not str(otdb_id) in needed:
             logger.error("no otdb_id %s found in estimator results %s" % (otdb_id, needed))