diff --git a/src/sbbs3/js_user.c b/src/sbbs3/js_user.c
index b5eab911f16f8467429abd14620a7898c2ef6409..b05f313eb5ccd084ef679f4e04dc74cfee6498fa 100644
--- a/src/sbbs3/js_user.c
+++ b/src/sbbs3/js_user.c
@@ -283,10 +283,13 @@ static JSBool js_user_get(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
 			val=user.freecdt;
 			break;
 		case USER_PROP_XEDIT:
-			val=user.xedit;
+			if(user.xedit>0 && user.xedit<=p->cfg->total_xedits)
+				s=p->cfg->xedit[user.xedit-1]->code;
+			else
+				s=""; /* internal editor */
 			break;
 		case USER_PROP_SHELL:
-			val=user.shell;
+			s=p->cfg->shell[user.shell]->code;
 			break;
 		case USER_PROP_QWK:
 			val=user.qwk;