Index: linux-2.6.18-mm3/include/linux/mmzone.h
===================================================================
--- linux-2.6.18-mm3.orig/include/linux/mmzone.h	2006-10-03 07:51:37.000000000 -0500
+++ linux-2.6.18-mm3/include/linux/mmzone.h	2006-10-03 17:10:46.035839927 -0500
@@ -387,11 +387,18 @@ typedef struct pglist_data {
 	 */
 	spinlock_t node_size_lock;
 #endif
+#ifdef MULTI_ZONE
 	unsigned long node_start_pfn;
 	unsigned long node_present_pages; /* total number of physical pages */
 	unsigned long node_spanned_pages; /* total size of physical page
 					     range, including holes */
 	int node_id;
+#else
+#define node_start_pfn node_zones[0].start_pfn
+#define node_present_pages node_zones[0].present_pages
+#define node_spanned_pages node_zones[0].spanned_pages
+#define node_id node_zones[0].node
+#endif
 	wait_queue_head_t kswapd_wait;
 	struct task_struct *kswapd;
 	int kswapd_max_order;