diff --git a/src/post_modules/GTK2/configure.in b/src/post_modules/GTK2/configure.in
index 218fe520be234b122c1a7b65c9befd05167b3642..fe0543954f9236cdae2f1091afaeb7e3d2087535 100644
--- a/src/post_modules/GTK2/configure.in
+++ b/src/post_modules/GTK2/configure.in
@@ -373,6 +373,8 @@ OLD_LIBS="$LIBS"
 CFLAGS="$CFLAGS $GTK_CFLAGS"
 LIBS="$LIBS $GTK_LIBS"
 
+AC_CHECK_HEADERS( gdk/gdkx.h gdk/gdkwin32.h gdk/gdkquartz.h )
+
 AC_CHECK_FUNCS(gtk_tree_selection_unselect_range g_value_get_schar g_value_set_schar)
 
 AC_MSG_CHECKING([if g_signal_connect_data takes six args])
diff --git a/src/post_modules/GTK2/pgtk.h b/src/post_modules/GTK2/pgtk.h
index 5068a9119d0833142218fd82cbc9d1fca312ded1..6bf62af3d3b0c53c83499b58dadd20c9ead99f1b 100644
--- a/src/post_modules/GTK2/pgtk.h
+++ b/src/post_modules/GTK2/pgtk.h
@@ -52,6 +52,16 @@
 #include <arpa/inet.h>
 #endif
 
+#if defined(HAVE_GDK_GDKX_H)
+#include <gdk/gdkx.h>
+#elif defined(HAVE_GDK_GDKWIN32_H)
+#include <gdk/gdkwin32.h>
+#elif defined(HAVE_GDK_GDKQUARTZ_H)
+#include <gdk/gdkquartz.h>
+#else
+#error Must have one of gdkx.h, gdkwin32.h, or gdkquartz.h available
+#endif
+
 /*
 #undef GTK_STYLE
 #define GTK_STYLE(X) ((GtkStyle *)X)
diff --git a/src/post_modules/GTK2/source/gdkdrawable.pre b/src/post_modules/GTK2/source/gdkdrawable.pre
index f12712147618a9e19b89174db7b58fbee1cbd971..4b4e6562ce83e11d02c3bd10fc2213d598330997 100644
--- a/src/post_modules/GTK2/source/gdkdrawable.pre
+++ b/src/post_modules/GTK2/source/gdkdrawable.pre
@@ -2,13 +2,6 @@
 class GDK2.Drawable;
 inherit G.Object;
 
-%{
-#ifndef __NT__
-#include <gdk/gdkx.h>
-#else
-#include <gdk/gdkwin32.h>
-#endif
-%}
 //! The GDK2.Bitmap, GDK2.Window and GDK2.Pixmap classes are all GDK drawables.
 //! <br />
 //! This means that you can use the same set of functions to draw in them.<br />
diff --git a/src/post_modules/GTK2/source/gdkpixmap.pre b/src/post_modules/GTK2/source/gdkpixmap.pre
index 9c30734531480370faa49ad77d1427189781e73b..8e8c940ccfd373a1ea631b4ff6cc9bd1fc0bb359 100644
--- a/src/post_modules/GTK2/source/gdkpixmap.pre
+++ b/src/post_modules/GTK2/source/gdkpixmap.pre
@@ -10,12 +10,6 @@ inherit GDK2.Drawable;
 //!
 //! NOIMG
 %{
-#ifdef __NT__
-#include <gdk/gdkwin32.h>
-#else
-#include <gdk/gdkx.h>
-#endif
-
 GdkImage *pgtk2_pixmap_setup(struct object *o, int *free)
 {
   if (get_gdkobject(o,image))
diff --git a/src/post_modules/GTK2/source/gdkwindow.pre b/src/post_modules/GTK2/source/gdkwindow.pre
index 853077172998fa65ed51ccac2a9a44b672d1b761..0ba315cebdfbdcebb59721784cdbb15bc1acb81b 100644
--- a/src/post_modules/GTK2/source/gdkwindow.pre
+++ b/src/post_modules/GTK2/source/gdkwindow.pre
@@ -2,13 +2,6 @@
 class GDK2.Window;
 inherit GDK2.Drawable;
 
-%{
-#ifndef __NT__
-#include <gdk/gdkx.h>
-#else
-#include <gdk/gdkwin32.h>
-#endif
-%}
 //! a GDK2.Window object.
 //!
 //! NOIMG
diff --git a/src/post_modules/GTK2/source/global.pre b/src/post_modules/GTK2/source/global.pre
index 67a3425be6247b64bacf546b789e5d5ef62beaa3..f784eed2cd7c564bfcd44c6d01ebdc79c24555a7 100644
--- a/src/post_modules/GTK2/source/global.pre
+++ b/src/post_modules/GTK2/source/global.pre
@@ -3,11 +3,6 @@
 
 %{
 #include <gdk/gdkprivate.h>
-#ifndef __NT__
-#include <gdk/gdkx.h>
-#else
-#include <gdk/gdkwin32.h>
-#endif
 /* The main stuff.. */
 
 int pgtk2_is_setup = 0, pgnome2_is_setup = 0;
diff --git a/src/post_modules/GTK2/source/gtksocket.pre b/src/post_modules/GTK2/source/gtksocket.pre
index cc170aa5c35359f9a34dbfac601cdb35ac49eab6..d042ea9017229d46197c7f1cd5062c3e4c94dc57 100644
--- a/src/post_modules/GTK2/source/gtksocket.pre
+++ b/src/post_modules/GTK2/source/gtksocket.pre
@@ -2,14 +2,6 @@
 class GTK2.Socket;
 inherit GTK2.Container;
 
-%{
-#ifndef __NT__
-#include <gdk/gdkx.h>
-#else
-#include <gdk/gdkwin32.h>
-#endif
-%}
-
 //! Together with W(Plug), GTK2.Socket provides the ability to embed
 //! widgets from one process into another process in a fashion that is
 //! transparent to the user. One process creates a GTK2.Socket widget
diff --git a/src/post_modules/GTK2/source/gtkwidget.pre b/src/post_modules/GTK2/source/gtkwidget.pre
index df92947da7be35b7f0b5bfcad4ba385f39924a6c..d9ebd2be09dd64ee0a5e97dae34619cb38bf3681 100644
--- a/src/post_modules/GTK2/source/gtkwidget.pre
+++ b/src/post_modules/GTK2/source/gtkwidget.pre
@@ -3,11 +3,6 @@ class GTK2.Widget;
 inherit GTK2.Object;
 
 %{
-#ifndef __NT__
-#include <gdk/gdkx.h>
-#else
-#include <gdk/gdkwin32.h>
-#endif
 #undef TWIN
 #undef _GC
 #define TWIN (GTK_WIDGET(THIS->obj)->window)