diff --git a/src/post_modules/GTK/configure.in b/src/post_modules/GTK/configure.in
index 32dfd1929e76dd1ae7bd55bf7da8196dc7d24fed..3d06754ea5d0e630ba006801d960365b0bd387d3 100644
--- a/src/post_modules/GTK/configure.in
+++ b/src/post_modules/GTK/configure.in
@@ -55,6 +55,13 @@ else
 fi
 AC_SUBST(LIBGLADE_CFLAGS)
 AC_SUBST(LIBGLADE_LIBS)
+old_CFLAGS=$CFLAGS
+old_LIBS=$LIBS
+LIBS="$LIBGLADE_LIBS $LIBS"
+CFLAGS="$LIBGLADE_CLFAGS $CFLAGS"
+AC_CHECK_FUNCS(glade_gnome_init)
+LIBS="$old_LIBS"
+CFLAGS="$old_CFLAGS"
 ])
 
 dnl Configure paths for GTK+
diff --git a/src/post_modules/GTK/source/gladexml.pre b/src/post_modules/GTK/source/gladexml.pre
index 23d921d163adb65d6a03eff221df93a6649dc1b7..32347431344e43f3d8e86f4d3e0d0a69d9541667 100644
--- a/src/post_modules/GTK/source/gladexml.pre
+++ b/src/post_modules/GTK/source/gladexml.pre
@@ -15,7 +15,7 @@ class GladeXML;
 #include <glade/glade.h>
 
 int glade_is_setup = 0;
-RCSID("$Id: gladexml.pre,v 1.7 2000/07/07 21:52:25 marcus Exp $");
+RCSID("$Id: gladexml.pre,v 1.8 2000/10/13 06:35:42 per Exp $");
 
 %{
 /* This function is used by signal_autoconnect to handle signal
@@ -196,7 +196,7 @@ FUNCTION(create, "function(void|int:void)");
   if(!glade_is_setup)
   {
     glade_init();
-#ifdef NEED_GNOMESUPPORT_H
+#if defined(NEED_GNOMESUPPORT_H) && defined(HAVE_GLADE_GNOME_INIT)
     if(args)
     {
       if(Pike_sp[-args].type == PIKE_T_INT && Pike_sp[-1].u.integer != 0)
@@ -326,4 +326,4 @@ RETURNS(void);
   pop_n_elems(args);
 }
 
-// <p align=right><font size=2><i>$Id: gladexml.pre,v 1.7 2000/07/07 21:52:25 marcus Exp $</i></font>
+// <p align=right><font size=2><i>$Id: gladexml.pre,v 1.8 2000/10/13 06:35:42 per Exp $</i></font>