diff --git a/src/sbbs3/js_cryptcert.c b/src/sbbs3/js_cryptcert.c
index 3dc140fa8650db7c4e3f8b8240fac88715f56b77..a1cace60b4610e9cbed22fe47da7a15d3af01d54 100644
--- a/src/sbbs3/js_cryptcert.c
+++ b/src/sbbs3/js_cryptcert.c
@@ -9,7 +9,6 @@
 #include "js_cryptcert.h"
 #include "ssl.h"
 
-static JSClass js_cryptcert_class;
 static const char* getprivate_failure = "line %d %s %s JS_GetPrivate failed";
 
 // Helpers
@@ -2564,7 +2563,7 @@ static JSBool js_cryptcert_enumerate(JSContext *cx, JSObject *obj)
 	return(js_cryptcert_resolve(cx, obj, JSID_VOID));
 }
 
-static JSClass js_cryptcert_class = {
+JSClass js_cryptcert_class = {
      "CryptCert"				/* name			*/
     ,JSCLASS_HAS_PRIVATE		/* flags		*/
 	,JS_PropertyStub			/* addProperty	*/
diff --git a/src/sbbs3/js_cryptcert.h b/src/sbbs3/js_cryptcert.h
index 5b405a04327c02d21efd0337dc041edb6c3f8c91..8e48bfda42940db32e9108a66566bf475badbbdc 100644
--- a/src/sbbs3/js_cryptcert.h
+++ b/src/sbbs3/js_cryptcert.h
@@ -5,6 +5,8 @@ struct js_cryptcert_private_data {
 	CRYPT_CERTIFICATE	cert;
 };
 
+extern JSClass js_cryptcert_class;
+
 JSObject* DLLCALL js_CreateCryptCertObject(JSContext* cx, CRYPT_CERTIFICATE cert);
 
 #endif
diff --git a/src/sbbs3/js_cryptkeyset.c b/src/sbbs3/js_cryptkeyset.c
index 98d2e697fc290ee50263527ad6e0aa51be99062f..dbe615c3c593165d09308bad5355413a14cf06be 100644
--- a/src/sbbs3/js_cryptkeyset.c
+++ b/src/sbbs3/js_cryptkeyset.c
@@ -114,8 +114,8 @@ js_add_public_key(JSContext *cx, uintN argc, jsval *arglist)
 		return JS_FALSE;
 	}
 	cert = JSVAL_TO_OBJECT(argv[0]);
-	if (!JS_InstanceOf(cx, cert, &js_cryptcon_class, NULL)) {
-		JS_ReportError(cx, "Invalid CryptContext");
+	if (!JS_InstanceOf(cx, cert, &js_cryptcert_class, NULL)) {
+		JS_ReportError(cx, "Invalid CryptCert");
 		return JS_FALSE;
 	}