Index: kernel/generic/src/synch/mutex.c
===================================================================
--- kernel/generic/src/synch/mutex.c	(revision 05411e8ee4384881320847ef06ec482aa2cdecd0)
+++ kernel/generic/src/synch/mutex.c	(revision a3900ccd7e17ab082827110cf5c4b6ee6faefd2b)
@@ -40,4 +40,5 @@
 #include <synch/synch.h>
 #include <debug.h>
+#include <arch.h>
 
 /** Initialize mutex.
@@ -69,8 +70,8 @@
 	int rc;
 
-	if (mtx->type == MUTEX_PASSIVE) {
+	if (mtx->type == MUTEX_PASSIVE && THREAD) {
 		rc = _semaphore_down_timeout(&mtx->sem, usec, flags);
 	} else {
-		ASSERT(mtx->type == MUTEX_ACTIVE);
+		ASSERT(mtx->type == MUTEX_ACTIVE || !THREAD);
 		ASSERT(usec == SYNCH_NO_TIMEOUT);
 		ASSERT(!(flags & SYNCH_FLAGS_INTERRUPTIBLE));
