diff --git a/configure b/configure
index a1caaa49c103ee5c4cd3dcfac9c6b19f580b8bec..6dc5b50e451e5f73bfc6d5abe47ce55d0a6a0a0a 100755
--- a/configure
+++ b/configure
@@ -7255,7 +7255,11 @@ fi
 
 if test "$ac_cv_header_pthread_h" = "yes"
 then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
+    ac_fn_c_check_func "$LINENO" "pthread_create" "ac_cv_func_pthread_create"
+if test "x$ac_cv_func_pthread_create" = xyes; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
 $as_echo_n "checking for pthread_create in -lpthread... " >&6; }
 if ${ac_cv_lib_pthread_pthread_create+:} false; then :
   $as_echo_n "(cached) " >&6
@@ -7297,7 +7301,9 @@ if test "x$ac_cv_lib_pthread_pthread_create" = xyes; then :
 fi
 
 fi
-if test "x$LIBPTHREAD" = "x"; then :
+
+fi
+if test "x$ac_cv_func_pthread_create" != xyes -a "x$LIBPTHREAD" = x; then :
   case "x$with_pthread" in
   xno) ;;
   *)   as_fn_error $? "pthread ${notice_platform}development files not found.
diff --git a/configure.ac b/configure.ac
index d14a2df2a81de8ffb5d44ebaea758aa21876028b..4b0c3606e20dc2fcd9eda6868f4c296b6cbb8a0e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -954,9 +954,10 @@ dnl **** Check for pthread ****
 
 if test "$ac_cv_header_pthread_h" = "yes"
 then
-    AC_CHECK_LIB(pthread,pthread_create,[AC_SUBST(LIBPTHREAD,"-lpthread")])
+    AC_CHECK_FUNC(pthread_create,,[AC_CHECK_LIB(pthread,pthread_create,[AC_SUBST(LIBPTHREAD,"-lpthread")])])
 fi
-WINE_ERROR_WITH(pthread,[test "x$LIBPTHREAD" = "x"],[pthread ${notice_platform}development files not found.
+WINE_ERROR_WITH(pthread,[test "x$ac_cv_func_pthread_create" != xyes -a "x$LIBPTHREAD" = x],
+[pthread ${notice_platform}development files not found.
 Wine cannot support threads without libpthread.])
 
 dnl **** Check for X11 ****