diff --git a/configure b/configure
index e5d6224..669a086 100755
--- a/configure
+++ b/configure
@@ -842,7 +842,6 @@
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
   --without-curses        do not use curses
-  --without-reentrant-x   compile for use with non-reentrant X libraries
   --with-x                use the X Window System
 
 Some influential environment variables:
@@ -1266,12 +1265,6 @@
 
 fi;
 
-# Check whether --with-reentrant-x or --without-reentrant-x was given.
-if test "${with_reentrant_x+set}" = set; then
-  withval="$with_reentrant_x"
-
-fi;
-
 
 if test "x$enable_debug" = "xno"
 then
@@ -10054,54 +10047,38 @@
 fi
 
 
-if test "$have_x" = "yes" -a "$wine_cv_libc_reentrant" != "no"
+if test "$have_x" = "yes"
 then
 echo "$as_me:$LINENO: checking for reentrant X libraries" >&5
 echo $ECHO_N "checking for reentrant X libraries... $ECHO_C" >&6
 if test "${wine_cv_x_reentrant+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-   if test "x$with_reentrant_x" = "xno"
-    then
-        wine_cv_x_reentrant=no
+  libX11_check=none
+    for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
+        if test -r $dir/libX11.so; then
+            libX11_check="-D $dir/libX11.so"
+            break
+        fi
+        if test -r $dir/libX11.a; then
+            libX11_check="$dir/libX11.a"
+            break
+        fi
+    done
+    if test "$libX11_check" != "none"; then
+        if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
+        then
+            wine_cv_x_reentrant=yes
+        else
+            wine_cv_x_reentrant=no
+        fi
     else
-	libX11_check=none
-	for dir in "$x_libraries" /usr/lib /usr/local/lib /lib; do
-	    if test -r $dir/libX11.so; then
-		libX11_check="-D $dir/libX11.so"
-		break 1
-	    fi
-	    if test -r $dir/libX11.a; then
-		libX11_check="$dir/libX11.a"
-		break 1
-	    fi
-	done
-	if test "$libX11_check" != "none"; then
-	    if nm $libX11_check | grep $wine_cv_libc_reentrant >/dev/null 2>&1
-	    then
-		wine_cv_x_reentrant=yes
-	    else
-		wine_cv_x_reentrant=no
-	    fi
-	else
-	    wine_cv_x_reentrant=unknown
-	fi
+        wine_cv_x_reentrant=unknown
     fi
 fi
 echo "$as_me:$LINENO: result: $wine_cv_x_reentrant" >&5
 echo "${ECHO_T}$wine_cv_x_reentrant" >&6
-else
-    wine_cv_x_reentrant=no
 fi
-if test "$wine_cv_x_reentrant" = "no"
-then
-
-cat >>confdefs.h <<\_ACEOF
-#define NO_REENTRANT_X11 1
-_ACEOF
-
-fi
-
 
 
 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
@@ -13888,6 +13865,13 @@
   echo "*** reentrant version of libc."
 fi
 
+if test "$have_x" = "yes" -a "$wine_cv_x_reentrant" != "yes"
+then
+  echo
+  echo "*** Warning: non-reentrant X11 library detected. Multi-threaded"
+  echo "*** applications won't work properly. You should upgrade your X11 library."
+fi
+
 if test "$wine_cv_opengl_version_OK" = "no"
 then
   echo
