diff --git a/configure b/configure
index 541d0805a30f91ec55f78ff4c10fb7c4ae4f350e..6e28e4ef573df8969b79766c7cdc42a16011abdf 100755
--- a/configure
+++ b/configure
@@ -3842,9 +3842,7 @@ fi
 # do this before the optional library checks as some of them require pthreads
 if ! disabled pthreads && ! enabled w32threads; then
     enable pthreads
-    if check_func pthread_join; then
-        :
-    elif check_func pthread_join -pthread; then
+    if check_func pthread_join -pthread; then
         add_cflags -pthread
         add_extralibs -pthread
     elif check_func pthread_join -pthreads; then
@@ -3852,7 +3850,9 @@ if ! disabled pthreads && ! enabled w32threads; then
         add_extralibs -pthreads
     elif check_func pthread_join -lpthreadGC2; then
         add_extralibs -lpthreadGC2
-    elif ! check_lib pthread.h pthread_join -lpthread; then
+    elif check_lib pthread.h pthread_join -lpthread; then
+        :
+    elif ! check_func pthread_join; then
         disable pthreads
     fi
 fi