diff --git a/src/sbbs3/js_internal.c b/src/sbbs3/js_internal.c
index 365d0973aea55555aac9d76ba82b270c2a671916..167a7b2b2c3580531553272919d48b42252871bf 100644
--- a/src/sbbs3/js_internal.c
+++ b/src/sbbs3/js_internal.c
@@ -54,6 +54,7 @@ enum {
 	,PROP_BYTES
 	,PROP_MAXBYTES
 #endif
+	,PROP_GLOBAL
 };
 
 static JSBool js_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
@@ -107,6 +108,13 @@ static JSBool js_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
 		case PROP_MAXBYTES:
 			JS_NewNumberValue(cx,cx->runtime->gcMaxBytes,vp);
 			break;
+		case PROP_GLOBAL:
+			*vp = OBJECT_TO_JSVAL(cx->globalObject);
+			break;
+#else
+		case PROP_GLOBAL:
+			*vp = OBJECT_TO_JSVAL(JS_GetParent(cx,obj));
+			break;
 #endif
 	}
 
@@ -172,6 +180,7 @@ static jsSyncPropertySpec js_properties[] = {
 	{	"bytes",			PROP_BYTES,			PROP_FLAGS,			311 },
 	{	"max_bytes",		PROP_MAXBYTES,		JSPROP_ENUMERATE,	311 },
 #endif
+	{	"global",			PROP_GLOBAL,		PROP_FLAGS,			313 },
 	{0}
 };
 
@@ -191,6 +200,7 @@ static char* prop_desc[] = {
 	,"number of heap bytes currently in use - <small>READ ONLY</small>"
 	,"maximum number of bytes available for heap"
 #endif
+	,"global (top level) object - <small>READ ONLY</small>"
 	,NULL
 };
 #endif