diff --git a/3rdp/build/GNUmakefile b/3rdp/build/GNUmakefile
index 200b5c1cf69433e0b8d19fcc14f13736aa830622..9830aa24d28c27cf0b28aff047fd0e14b88146da 100644
--- a/3rdp/build/GNUmakefile
+++ b/3rdp/build/GNUmakefile
@@ -26,11 +26,12 @@ $(JS_SRC): | $(3RDPSRCDIR)
 $(JS_IDIR): | $(3RDPODIR)
 	$(QUIET)$(IFNOTEXIST) mkdir $(JS_IDIR)
 
-$(JSLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/libmozjs.tgz | $(JS_SRC) $(JS_IDIR)
+$(JSLIB_BUILD): $(3RDP_ROOT)$(DIRSEP)dist/libmozjs.tgz $(3RDP_ROOT)$(DIRSEP)build/js_src_jsnativestack_cpp.patch | $(JS_SRC) $(JS_IDIR)
 	@echo Creating $@ ...
 	$(QUIET)-rm -rf $(JS_SRC)/*
 	$(QUIET)tar -xzC $(JS_SRC) -f $(3RDPDISTDIR)$(DIRSEP)libmozjs.tgz
 	$(QUIET)echo "pthread_np.h" >> $(JS_SRC)$(DIRSEP)js-1.8.5$(DIRSEP)js$(DIRSEP)src$(DIRSEP)config$(DIRSEP)system-headers
+	$(QUIET)patch -p0 -d $(JS_SRC)$(DIRSEP)js-1.8.5 < js_src_jsnativestack_cpp.patch
 	-$(QUIET)cd $(JS_SRC)$(DIRSEP)js-1.8.5$(DIRSEP)js$(DIRSEP)src && autoconf-2.13
 	$(QUIET)cd $(JS_SRC)$(DIRSEP)js-1.8.5$(DIRSEP)js$(DIRSEP)src && ./configure $(JS_CONFIGURE_ARGS)
 	$(QUIET)$(MAKE) -C $(JS_SRC)$(DIRSEP)js-1.8.5$(DIRSEP)js$(DIRSEP)src
diff --git a/3rdp/build/js_src_jsnativestack_cpp.patch b/3rdp/build/js_src_jsnativestack_cpp.patch
new file mode 100644
index 0000000000000000000000000000000000000000..2b1e6309e0458a246df3f1ff122b148c5d0c802e
--- /dev/null
+++ b/3rdp/build/js_src_jsnativestack_cpp.patch
@@ -0,0 +1,13 @@
+$OpenBSD: patch-js_src_jsnativestack_cpp,v 1.2 2011/06/28 05:43:57 landry Exp $
+https://bugzilla.mozilla.org/show_bug.cgi?id=634609
+--- js/src/jsnativestack.cpp.orig	Fri May 27 18:12:08 2011
++++ js/src/jsnativestack.cpp	Tue May 31 22:18:21 2011
+@@ -50,7 +50,7 @@
+ #elif defined(XP_MACOSX) || defined(DARWIN) || defined(XP_UNIX)
+ # include <pthread.h>
+ 
+-# if defined(__FreeBSD__)
++# if defined(__FreeBSD__) || defined (__OpenBSD__)
+ #  include <pthread_np.h>
+ # endif
+