diff --git a/libgo/runtime/lock_sema.c b/libgo/runtime/lock_sema.c
index ce435119323fdcc9a58882eec3f9b1ecb706da33..000b9fcf7010349ec76e73a189f1cd46f78d8834 100644
--- a/libgo/runtime/lock_sema.c
+++ b/libgo/runtime/lock_sema.c
@@ -152,8 +152,12 @@ runtime_notesleep(Note *n)
 
 	m = runtime_m();
 
+  /* For gccgo it's OK to sleep in non-g0, and it happens in
+     stoptheworld because we have not implemented preemption.
+
 	if(runtime_g() != m->g0)
 		runtime_throw("notesleep not on g0");
+  */
 
 	if(m->waitsema == 0)
 		m->waitsema = runtime_semacreate();