Index: uspace/lib/c/generic/fibril_synch.c
===================================================================
--- uspace/lib/c/generic/fibril_synch.c	(revision 668f8cbff72b222492a3db956029fe7d751ab4af)
+++ uspace/lib/c/generic/fibril_synch.c	(revision 3e20fd481daa3a3499b65a8cbbe231b962f35ad3)
@@ -58,4 +58,5 @@
 void fibril_mutex_initialize(fibril_mutex_t *fm)
 {
+	fm->oi.owned_by = NULL;
 	fm->counter = 1;
 	list_initialize(&fm->waiters);
@@ -75,4 +76,5 @@
 		fibril_switch(FIBRIL_TO_MANAGER);
 	} else {
+		fm->oi.owned_by = (fibril_t *) fibril_get_id();
 		futex_up(&async_futex);
 	}
@@ -86,4 +88,5 @@
 	if (fm->counter > 0) {
 		fm->counter--;
+		fm->oi.owned_by = (fibril_t *) fibril_get_id();
 		locked = true;
 	}
@@ -105,7 +108,10 @@
 		wdp->active = true;
 		wdp->wu_event.inlist = false;
+		fm->oi.owned_by = (fibril_t *) wdp->fid;
 		list_remove(&wdp->wu_event.link);
 		fibril_add_ready(wdp->fid);
 		optimize_execution_power();
+	} else {
+		fm->oi.owned_by = NULL;
 	}
 }
@@ -120,4 +126,5 @@
 void fibril_rwlock_initialize(fibril_rwlock_t *frw)
 {
+	frw->oi.owned_by = NULL;
 	frw->writers = 0;
 	frw->readers = 0;
