Index: uspace/srv/sysman/test/job_closure.c
===================================================================
--- uspace/srv/sysman/test/job_closure.c	(revision dba056b9fb6624592ecae8b4943a89914115602c)
+++ uspace/srv/sysman/test/job_closure.c	(revision fe86d9dd86bd9efd701da76a506f6b00631d3b7c)
@@ -88,13 +88,13 @@
 static job_t *dummy_job(unit_t *unit, unit_state_t target_state)
 {
-	job_t *old_job = unit->job;
-	unit->job = NULL;
-
 	job_t *result = job_create(unit, target_state);
-
-	job_del_ref(&result);
-	unit->job = old_job;
-
 	return result;
+}
+
+static void dummy_add_closure(dyn_array_t *closure)
+{
+	dyn_array_foreach(*closure, job_t *, it) {
+		(*it)->unit->job = *it;
+	}
 }
 
@@ -144,4 +144,5 @@
 	mock_add_dependency(u2, u3);
 
+	/* Intentionally omit u0 */
 	job_t *main_job = job_create(u1, STATE_STARTED);
 	assert(main_job);
@@ -153,4 +154,6 @@
 	dyn_array_append(&exp_closure, job_t *, dummy_job(u2, STATE_STARTED));
 	dyn_array_append(&exp_closure, job_t *, dummy_job(u3, STATE_STARTED));
+
+	dummy_add_closure(&act_closure);
 
 	PCUT_ASSERT_TRUE(same_jobs(&exp_closure, &act_closure));
@@ -182,4 +185,6 @@
 	dyn_array_append(&exp_closure, job_t *, dummy_job(u2, STATE_STARTED));
 	dyn_array_append(&exp_closure, job_t *, dummy_job(u3, STATE_STARTED));
+
+	dummy_add_closure(&act_closure);
 
 	PCUT_ASSERT_TRUE(same_jobs(&exp_closure, &act_closure));
@@ -214,4 +219,6 @@
 	dyn_array_append(&exp_closure, job_t *, dummy_job(u3, STATE_STARTED));
 
+	dummy_add_closure(&act_closure);
+
 	PCUT_ASSERT_TRUE(same_jobs(&exp_closure, &act_closure));
 	PCUT_ASSERT_TRUE(job_blocked(u1->job, u2->job));
