diff --git a/src/post_modules/GLUT/configure.in b/src/post_modules/GLUT/configure.in
index e940bb602a43826e0f6a136d2bfc4b1fa3959f58..d3029dcc2d6a7aa775bb270b46dca3f597500320 100755
--- a/src/post_modules/GLUT/configure.in
+++ b/src/post_modules/GLUT/configure.in
@@ -11,6 +11,46 @@ AC_ARG_WITH(GLUT,  [  --without-GLUT    no support for GLUT],[without_GLUT=yes],
 if test x$without_GLUT = xyes; then
   AUTO=""
 else
+  DO_IF_OS(Darwin,
+  [
+    # MaxOS X
+    # NOTE: These tests may need to move to the main configure script.
+    #       cf comments in the Darwin section of the main configure script.
+    AC_SYS_COMPILER_FLAG(-framework GLUT, framework_GLUT, LDFLAGS)
+    AC_SYS_COMPILER_FLAG(-framework GLUT, framework_GLUT, CPPFLAGS)
+  ])
+  AC_CHECK_HEADERS(GLUT/glut.h)
+
+  # FIXME: Ought to just check -lobjc, since -framework GLUT is checked above.
+  AC_MSG_CHECKING(for glutSolidTeapot in GLUT.framework)
+  AC_CACHE_VAL(pike_cv_framework_GLUT, [
+    oldLIBS="$LIBS"
+    LIBS="-framework GLUT -lobjc $LIBS"
+    AC_TRY_LINK([
+#ifdef HAVE_GLUT_GLUT_H
+#include <GLUT/glut.h>
+#else
+#ifdef HAVE_GL_GLUT_H
+#include <GL/glut.h>
+#endif /* HAVE_GL_GLUT_H */
+#endif /* HAVE_GLUT_GLUT_H */
+    ], [ glutSolidTeapot(1.0) ],
+       [ pike_cv_framework_GLUT=yes ], [ pike_cv_framework_GLUT=no ])
+    LIBS="$oldLIBS"
+  ])
+  if test x"$pike_cv_framework_GLUT" = "xyes"; then
+    AC_MSG_RESULT(yes)
+  else
+    AC_MSG_RESULT(no)
+  fi
+
+  if test x"$ac_cv_header_GLUT_glut_h$pike_cv_framework_GLUT" = "xyesyes"; then
+    AC_DEFINE_UNQUOTED(HAVE_LIBGLUT)
+    LIBS="-framework GLUT -lobjc $LIBS"
+    AUTO=auto.o
+    PIKE_FEATURE(GLUT,[yes (framework GLUT)])
+  else
+
   AC_PATH_XTRA()
   # The variables from the PATH_XTRA macro are missnamed...
   #
@@ -28,27 +68,12 @@ else
 
   AC_CHECK_HEADERS(GL/glut.h)
 
-  DO_IF_OS(Darwin,
-  [
-    # MaxOS X
-    # NOTE: These tests may need to move to the main configure script.
-    #       cf comments in the Darwin section of the main configure script.
-    AC_SYS_COMPILER_FLAG(-framework GLUT, framework_GLUT, LDFLAGS)
-    AC_SYS_COMPILER_FLAG(-framework GLUT, framework_GLUT, CPPFLAGS)
-  ])
-  AC_CHECK_HEADERS(GLUT/glut.h)
-
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
   LIBS="$X_EXTRA_LIBS $LIBS"
   LDFLAGS="$LDFLAGS $X_LIBS $X_PRE_LIBS"
   AC_CHECK_LIB(X11, XDrawPoint)
   AC_CHECK_LIB(Xext, XShmPutImage)
   AC_CHECK_LIB(Xmu, XmuStandardColormap)
-  AC_CHECK_LIB(GL, glOrtho)
-  AC_CHECK_LIB(OpenGL, glOrtho)
-  AC_CHECK_LIB(MesaGL, glOrtho)
-  AC_CHECK_LIB(GLU, gluCylinder)
-  AC_CHECK_LIB(MesaGLU, gluCylinder)
   AC_CHECK_LIB(Xinput, XOpenDevice)
   AC_CHECK_LIB(Xi, XOpenDevice)
 
@@ -74,35 +99,7 @@ else
     AC_MSG_RESULT(no)
   fi
 
-  # FIXME: Ought to just check -lobjc, since -framework GLUT is checked above.
-  AC_MSG_CHECKING(for glutSolidTeapot in GLUT.framework)
-  AC_CACHE_VAL(pike_cv_framework_GLUT, [
-    oldLIBS="$LIBS"
-    LIBS="-framework GLUT -lobjc $LIBS"
-    AC_TRY_LINK([
-#ifdef HAVE_GLUT_GLUT_H
-#include <GLUT/glut.h>
-#else
-#ifdef HAVE_GL_GLUT_H
-#include <GL/glut.h>
-#endif /* HAVE_GL_GLUT_H */
-#endif /* HAVE_GLUT_GLUT_H */
-    ], [ glutSolidTeapot(1.0) ],
-       [ pike_cv_framework_GLUT=yes ], [ pike_cv_framework_GLUT=no ])
-    LIBS="$oldLIBS"
-  ])
-  if test x"$pike_cv_framework_GLUT" = "xyes"; then
-    AC_MSG_RESULT(yes)
-  else
-    AC_MSG_RESULT(no)
-  fi
-
-  if test x"$ac_cv_header_GLUT_glut_h$pike_cv_framework_GLUT" = "xyesyes"; then
-    AC_DEFINE_UNQUOTED(HAVE_LIBGLUT)
-    LIBS="-framework GLUT -lobjc $LIBS"
-    AUTO=auto.o
-    PIKE_FEATURE(GLUT,[yes (framework GLUT)])
-  elif test x"$ac_cv_header_GL_glut_h$pike_cv_lib_glut" = "xyesyes"; then
+  if test x"$ac_cv_header_GL_glut_h$pike_cv_lib_glut" = "xyesyes"; then
     AC_DEFINE_UNQUOTED(HAVE_LIBGLUT)
     LIBS="-lglut $LIBS"
     AUTO=auto.o
@@ -112,6 +109,14 @@ else
     PIKE_FEATURE_NODEP(GLUT)
   fi
 
+fi
+
+  AC_CHECK_LIB(GL, glOrtho)
+  AC_CHECK_LIB(OpenGL, glOrtho)
+  AC_CHECK_LIB(MesaGL, glOrtho)
+  AC_CHECK_LIB(GLU, gluCylinder)
+  AC_CHECK_LIB(MesaGLU, gluCylinder)
+
   # Check for availability of some functions that aren't present in
   # all versions of GLUT (they are missing in eg AIX 4.3).
   AC_CHECK_FUNCS([glutEnterGameMode glutForceJoystickFunc glutGameModeGet \