diff --git a/SAS/TMSS/test/t_scheduling.py b/SAS/TMSS/test/t_scheduling.py
index 8d0b68214e60bc2500212d1a286f7acde34d3d5c..7194384d130232e86b2ebd2327e78bc122917288 100755
--- a/SAS/TMSS/test/t_scheduling.py
+++ b/SAS/TMSS/test/t_scheduling.py
@@ -167,6 +167,62 @@ class SchedulingTest(unittest.TestCase):
             self.assertEqual('scheduled', ra_test_env.radb.getTask(tmss_id=pipe_subtask['id'])['status'])
 
 
+    def test_schedule_schedulingunit_enough_resources_available(self):
+        '''similar test as test_schedule_pipeline_subtask_with_enough_resources_available, but now created from a scheduling_unit'''
+        with tmss_test_env.create_tmss_client() as client:
+            scheduling_unit_template = client.get_schedulingunit_template("scheduling unit schema")
+            scheduling_unit_doc = get_default_json_object_for_schema(scheduling_unit_template['schema'])
+
+            # define an observation without QA
+            obs_task = get_default_json_object_for_schema(client.get_task_template(name="observation schema")['schema'])
+            obs_task['QA']['plots']['enabled'] = False
+            obs_task['QA']['file_conversion']['enabled'] = False
+            scheduling_unit_doc['tasks'].append({"name": "Observation",
+                                                 "specifications_doc": obs_task,
+                                                 "specifications_template": "observation schema"})
+
+            # define a pipeline
+            scheduling_unit_doc['tasks'].append({"name": "Pipeline",
+                                                 "specifications_doc": get_default_json_object_for_schema(client.get_task_template(name="preprocessing schema")['schema']),
+                                                 "specifications_template": "preprocessing schema"})
+
+            # connect obs to pipeline
+            scheduling_unit_doc['task_relations'].append({"producer": "Observation",
+                                                          "consumer": "Pipeline",
+                                                          "input": { "role": "input", "datatype": "visibilities" },
+                                                          "output": { "role": "correlator", "datatype": "visibilities" },
+                                                          "dataformat": "MeasurementSet",
+                                                          "selection_doc": {},
+                                                          "selection_template": "All" })
+
+            # submit
+            scheduling_unit_draft_data = test_data_creator.SchedulingUnitDraft(template_url=scheduling_unit_template['url'],
+                                                                               requirements_doc=scheduling_unit_doc)
+            scheduling_unit_draft = test_data_creator.post_data_and_get_response_as_json_object(scheduling_unit_draft_data, '/scheduling_unit_draft/')
+
+            # create the whole blueprints tree...
+            scheduling_unit_blueprint = client.create_blueprints_and_subtasks_from_scheduling_unit_draft(scheduling_unit_draft['id'])
+
+            # fetch the created task_blueprints
+            task_blueprints = [client.get_url_as_json_object(task_blueprint_url) for task_blueprint_url in scheduling_unit_blueprint['task_blueprints']]
+            self.assertEqual(2, len(task_blueprints))
+            # and make sure they are ordered correctly
+            if "Pipeline" in task_blueprints[0]['name']:
+                task_blueprints.reverse()
+
+            for task_blueprint in task_blueprints:
+                self.assertEqual(1, len(task_blueprint['subtasks']))
+                subtask = client.get_url_as_json_object(task_blueprint['subtasks'][0])
+
+                client.set_subtask_status(subtask['id'], 'defined')
+                subtask = client.schedule_subtask(subtask['id'])
+
+                self.assertEqual('scheduled', subtask['state_value'])
+                self.assertEqual('scheduled', ra_test_env.radb.getTask(tmss_id=subtask['id'])['status'])
+
+                client.set_subtask_status(subtask['id'], 'finished')
+
+
 if __name__ == "__main__":
     os.environ['TZ'] = 'UTC'
     unittest.main()