Index: kernel/generic/src/proc/scheduler.c
===================================================================
--- kernel/generic/src/proc/scheduler.c	(revision 41bfc6447bca0a648f115c2d22f120a4f5aca2ab)
+++ kernel/generic/src/proc/scheduler.c	(revision 7364e2d176f0e809523b63ac494905e4c7444832)
@@ -345,4 +345,6 @@
 			printf("Thread %" PRIu64 " stack trace:\n", THREAD->tid);
 			stack_trace_istate(istate);
+		} else {
+			printf("Thread %" PRIu64 " interrupt state not available\n", THREAD->tid);
 		}
 
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision 41bfc6447bca0a648f115c2d22f120a4f5aca2ab)
+++ kernel/generic/src/proc/thread.c	(revision 7364e2d176f0e809523b63ac494905e4c7444832)
@@ -907,21 +907,10 @@
 	 */
 
+	printf("Scheduling thread stack trace.\n");
 	irq_spinlock_lock(&thread->lock, true);
-
-	bool sleeping = false;
-	istate_t *istate = thread->udebug.uspace_state;
-	if (istate != NULL) {
-		printf("Scheduling thread stack trace.\n");
-		thread->btrace = true;
-		if (atomic_get_unordered(&thread->state) == Sleeping)
-			sleeping = true;
-	} else
-		printf("Thread interrupt state not available.\n");
-
+	thread->btrace = true;
 	irq_spinlock_unlock(&thread->lock, true);
 
-	if (sleeping)
-		thread_wakeup(thread);
-
+	thread_wakeup(thread);
 	thread_put(thread);
 }
