Index: kernel/generic/src/proc/scheduler.c
===================================================================
--- kernel/generic/src/proc/scheduler.c	(revision df58e448060bb6d63ea118d30cb9b3b9b8c059bf)
+++ kernel/generic/src/proc/scheduler.c	(revision 875c629b6e613286c8356c783a344d75acc6f382)
@@ -102,4 +102,5 @@
 #endif
 	
+#ifdef CONFIG_UDEBUG
 	if (THREAD->btrace) {
 		istate_t *istate = THREAD->udebug.uspace_state;
@@ -111,4 +112,5 @@
 		THREAD->btrace = false;
 	}
+#endif
 }
 
Index: kernel/generic/src/proc/thread.c
===================================================================
--- kernel/generic/src/proc/thread.c	(revision df58e448060bb6d63ea118d30cb9b3b9b8c059bf)
+++ kernel/generic/src/proc/thread.c	(revision 875c629b6e613286c8356c783a344d75acc6f382)
@@ -338,5 +338,4 @@
 	
 	thread->interrupted = false;
-	thread->btrace = false;
 	thread->detached = false;
 	waitq_initialize(&thread->join_wq);
@@ -351,5 +350,6 @@
 	
 #ifdef CONFIG_UDEBUG
-	/* Init debugging stuff */
+	/* Initialize debugging stuff */
+	thread->btrace = false;
 	udebug_thread_initialize(&thread->udebug);
 #endif
@@ -752,4 +752,6 @@
 }
 
+#ifdef CONFIG_UDEBUG
+
 void thread_stack_trace(thread_id_t thread_id)
 {
@@ -794,4 +796,6 @@
 	irq_spinlock_unlock(&threads_lock, true);
 }
+
+#endif /* CONFIG_UDEBUG */
 
 /** Process syscall to create new thread.
