diff --git a/lib/modules/GDK.pmod b/lib/modules/GDK.pmod
index 88bd10897030c81da0e39ae371f98c2dd95f9b92..f47e6c2e7b31b2dab3aca6435ef42ecc0db32391 100644
--- a/lib/modules/GDK.pmod
+++ b/lib/modules/GDK.pmod
@@ -1,3 +1,5 @@
+#if constant(.GTK.parse_rc)
+
 inherit .GTK;
 #define INDEX(x) predef::`->(this_object(),(x))
 
@@ -46,3 +48,5 @@ mixed `[](string what)
     return INDEX("GDK_"+upper_case(GTK.unsillycaps(what)));
   return  GDKSupport[what];
 }
+
+#endif
\ No newline at end of file
diff --git a/lib/modules/GTKSupport.pmod/Alert.pike b/lib/modules/GTKSupport.pmod/Alert.pike
index cac1bc8d96dac2e6c12dcaba57d30eabe4ce9f8e..914916cad932fe0e57aee81bc38d521bdbd7651c 100644
--- a/lib/modules/GTKSupport.pmod/Alert.pike
+++ b/lib/modules/GTKSupport.pmod/Alert.pike
@@ -1,3 +1,5 @@
+#if constant(GTK.Dialog)
+
 inherit GTK.Dialog;
 
 void begone(object w2)
@@ -26,3 +28,5 @@ void create(string text, string|void title)
   action_area()->add( ok_button->show() );
   show();
 }
+
+#endif
diff --git a/lib/modules/GTKSupport.pmod/MenuFactory.pmod b/lib/modules/GTKSupport.pmod/MenuFactory.pmod
index cea49d78066ee96b46d82c3855b3bcb22254375c..fd5265e0df9c1e560518f47b41eb2d2e1833ca39 100644
--- a/lib/modules/GTKSupport.pmod/MenuFactory.pmod
+++ b/lib/modules/GTKSupport.pmod/MenuFactory.pmod
@@ -1,3 +1,5 @@
+#if constant(GTK.parse_rc)
+
 #define FLAG_SHIFT   1
 #define FLAG_CTRL    4
 #define FLAG_ALT     8
@@ -218,3 +220,5 @@ array(object) MenuFactory( MenuDef ... definition )
   }
   return ({bar,table});
 }
+
+#endif
diff --git a/lib/modules/GTKSupport.pmod/SClist.pike b/lib/modules/GTKSupport.pmod/SClist.pike
index 07289349d5b063fdb63db62a839d008c62809303..b07b23aaf6d4bee99fcdb2f3aff2097daed95498 100644
--- a/lib/modules/GTKSupport.pmod/SClist.pike
+++ b/lib/modules/GTKSupport.pmod/SClist.pike
@@ -1,3 +1,4 @@
+#if constant(GTK.ScrolledWindow)
 inherit GTK.ScrolledWindow;
 
 object cl;
@@ -22,3 +23,4 @@ mixed `[](string what )
 }
 
 mixed `->(string what ) { return `[]( what ); }
+#endif
diff --git a/lib/modules/GTKSupport.pmod/Util.pmod b/lib/modules/GTKSupport.pmod/Util.pmod
index c746759f227c57a9b00399d02a965c2efb9a73a7..ca01b5846e9195841f79586f85083c1bdaa985cf 100644
--- a/lib/modules/GTKSupport.pmod/Util.pmod
+++ b/lib/modules/GTKSupport.pmod/Util.pmod
@@ -1,3 +1,5 @@
+#if constant(GTK.parse_rc)
+
 // This function will be easier to write in newer pikes, where there
 // will be a Image.ANY.decode function, but this will do for now. It
 // decoded an image from a string and returns a mapping with the
@@ -419,3 +421,5 @@ class signal_handling
     }
   }
 }
+
+#endif
diff --git a/lib/modules/GTKSupport.pmod/pCtree.pike b/lib/modules/GTKSupport.pmod/pCtree.pike
index febe8fd2cb2239cebb60b276a616200b7b9a5951..e13e0839762641a273c42abc5c87730d07518215 100644
--- a/lib/modules/GTKSupport.pmod/pCtree.pike
+++ b/lib/modules/GTKSupport.pmod/pCtree.pike
@@ -1,3 +1,5 @@
+#if constant(GTK.Ctree)
+
 inherit GTK.Ctree:ctree;
 
 class Node
@@ -362,3 +364,5 @@ static void unselect_expansion() {} /* (node); */
 static void unselect_expansion_recursive() {} /* (node); */
 static void find() {} /* (what->get_node(),node); */
 static void find_by_row_data() {} /* (what->get_node(),node)); */
+
+#endif
diff --git a/lib/modules/GTKSupport.pmod/pDrawingArea.pike b/lib/modules/GTKSupport.pmod/pDrawingArea.pike
index 56753bd7f0fe0d52cd5c2bd83e69c1502fc03e4a..0277df1de5b2f06689c5d7cb4d49b4522b8d0d00 100644
--- a/lib/modules/GTKSupport.pmod/pDrawingArea.pike
+++ b/lib/modules/GTKSupport.pmod/pDrawingArea.pike
@@ -1,3 +1,5 @@
+#if constant(GTK.DrawingArea)
+
 inherit GTK.DrawingArea;
 static object backing_store, bgc;
 static int _xsize, _ysize, is_realized;
@@ -150,3 +152,5 @@ WRAP(draw_pixmap);
 WRAP(draw_point);
 WRAP(draw_rectangle);
 WRAP(draw_text);
+
+#endif