diff --git a/libmudflap/mf-runtime.c b/libmudflap/mf-runtime.c
index 8b1cc749c9e43ef7615c38b5be61bf3e6224df0e..c1f0a6a482851e04075a3bcfe07ccc755b96cbce 100644
--- a/libmudflap/mf-runtime.c
+++ b/libmudflap/mf-runtime.c
@@ -136,7 +136,11 @@ pthread_mutex_t __mf_biglock =
    the libmudflap.la (no threading support) can diagnose whether
    the application is linked with -lpthread.  See __mf_usage() below.  */
 #if HAVE_PTHREAD_H
+#ifdef _POSIX_THREADS
 #pragma weak pthread_join
+#else
+#define pthread_join NULL
+#endif
 const void *threads_active_p = (void *) pthread_join;
 #endif