diff -u -r1.131 kernel.c
--- kernel.c	23 Mar 2006 20:33:48 -0000	1.131
+++ kernel.c	3 Apr 2006 18:21:01 -0000
@@ -152,7 +152,8 @@
 			kt->flags |= PER_CPU_OFF;
 		}
 		MEMBER_OFFSET_INIT(runqueue_cpu, "runqueue", "cpu");
-		if (VALID_MEMBER(runqueue_cpu)) {
+		if (VALID_MEMBER(runqueue_cpu) &&
+		    (get_array_length("runqueue.cpu", NULL, 0) > 0)) {
 			MEMBER_OFFSET_INIT(cpu_s_curr, "cpu_s", "curr");
 			MEMBER_OFFSET_INIT(cpu_s_idle, "cpu_s", "idle");
 		 	STRUCT_SIZE_INIT(cpu_s, "cpu_s"); 
@@ -177,6 +178,7 @@
 		} else {
 			MEMBER_OFFSET_INIT(runqueue_idle, "runqueue", "idle");
 			MEMBER_OFFSET_INIT(runqueue_curr, "runqueue", "curr");
+			ASSIGN_OFFSET(runqueue_cpu) = INVALID_OFFSET;
 		}
 		MEMBER_OFFSET_INIT(runqueue_active, "runqueue", "active");
 		MEMBER_OFFSET_INIT(runqueue_expired, "runqueue", "expired");
