Index: src/libcfa/concurrency/kernel.c
===================================================================
--- src/libcfa/concurrency/kernel.c	(revision 566b74f30cbffd7534d18835ce6998cc9baef525)
+++ src/libcfa/concurrency/kernel.c	(revision b002261f85fbbab79c7747b91cd5c2880094e5f1)
@@ -408,4 +408,12 @@
 	verify( !preemption_state.enabled );
 	lock( ready_queue_lock __cfaabi_dbg_ctx2 );
+	//TEMP hack to find a bug
+	if(this_processor != mainProcessor) {
+		if(ready_queue.head == mainThread) {
+			unlock( ready_queue_lock );
+			return NULL;
+		}
+	}
+
 	thread_desc * head = pop_head( ready_queue );
 	unlock( ready_queue_lock );
Index: src/tests/preempt_longrun/processor.c
===================================================================
--- src/tests/preempt_longrun/processor.c	(revision 566b74f30cbffd7534d18835ce6998cc9baef525)
+++ src/tests/preempt_longrun/processor.c	(revision b002261f85fbbab79c7747b91cd5c2880094e5f1)
@@ -16,6 +16,11 @@
 void main(worker_t & this) {}
 
+extern processor *   mainProcessor;
+extern thread_desc * mainThread;
+
 int main(int argc, char* argv[]) {
 	for(int i = 0; i < N; i++) {
+		assert(this_processor == mainProcessor);
+		assert(this_thread == mainThread);
 		processor p;
 	}
