diff --git a/3rdp/build/GNUmakefile b/3rdp/build/GNUmakefile
index 1401f6ca09349814156d0d0061aac31f24a62a16..745b5dc867da3f52d6ffe557a534364abe68a5ea 100644
--- a/3rdp/build/GNUmakefile
+++ b/3rdp/build/GNUmakefile
@@ -42,12 +42,13 @@ $(CRYPT_SRC): | $(3RDPSRCDIR)
 $(CRYPT_IDIR): | $(3RDPODIR)
 	$(QUIET)$(IFNOTEXIST) mkdir $(CRYPT_IDIR)
 
-$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/random_exit.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
+$(CRYPTLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/cryptlib.zip $(3RDP_ROOT)$(DIRSEP)build/no_ASYNCINIT.patch $(3RDP_ROOT)$(DIRSEP)build/SSL-fix.patch $(3RDP_ROOT)$(DIRSEP)build/random_exit.patch | $(CRYPT_SRC) $(CRYPT_IDIR)
 	@echo Creating $@ ...
 	$(QUIET)-rm -rf $(CRYPT_SRC)/*
 	$(QUIET)unzip -oa $(3RDPDISTDIR)$(DIRSEP)cryptlib.zip -d $(CRYPT_SRC)
 	$(QUIET)patch -p0 -d $(CRYPT_SRC) < random_exit.patch
 	$(QUIET)patch -p0 -d $(CRYPT_SRC) < SSL-fix.patch
+	$(QUIET)patch -p0 -d $(CRYPT_SRC) < no_ASYNCINIT.patch
 ifdef DEBUG
 	$(QUIET)env - PATH=$(PATH) make -C $(CRYPT_SRC) debug
 else
diff --git a/3rdp/build/no_ASYNCINIT.patch b/3rdp/build/no_ASYNCINIT.patch
new file mode 100644
index 0000000000000000000000000000000000000000..c8a6aa9a55a8acca27be1f369806eb4075b48ef3
--- /dev/null
+++ b/3rdp/build/no_ASYNCINIT.patch
@@ -0,0 +1,11 @@
+--- misc/user_cfg.c.orig	2012-07-21 14:40:54.000000000 -0700
++++ misc/user_cfg.c	2012-07-21 14:41:06.000000000 -0700
+@@ -102,7 +102,7 @@
+ 	MK_OPTION( CRYPT_OPTION_NET_CONNECTTIMEOUT, 30, 503 ),
+ 	MK_OPTION( CRYPT_OPTION_NET_READTIMEOUT, 0, 504 ),
+ 	MK_OPTION( CRYPT_OPTION_NET_WRITETIMEOUT, 2, 505 ),
+-	MK_OPTION_B( CRYPT_OPTION_MISC_ASYNCINIT, TRUE, 506 ),
++	MK_OPTION_B( CRYPT_OPTION_MISC_ASYNCINIT, FALSE, 506 ),
+ 	MK_OPTION( CRYPT_OPTION_MISC_SIDECHANNELPROTECTION, 0, 507 ),
+ 
+ 	/* All options beyond this point are ephemeral and aren't stored to disk.