diff --git a/exec/str_cmds.js b/exec/str_cmds.js
index 2763690dcad039edfc6486d7a9b889fd0ba2ab88..c17df366786f1df5377eb6dd322396c49dfaad6d 100644
--- a/exec/str_cmds.js
+++ b/exec/str_cmds.js
@@ -379,10 +379,15 @@ function str_cmds(str)
 		}
 		if(word=="UEDIT") {
 			// Prompts for syspass
-			str=str.substr(5);
-			if(str.length)
-				bbs.edit_user(bbs.finduser(get_arg(str, "User Alias")));
-			else
+			str=str.substr(5).trim();
+			if(str.length) {
+				var usernum = parseInt(str, 10);
+				if(isNaN(usernum) || usernum < 1 || usernum > system.lastuser)
+					usernum = bbs.finduser(str);
+				if(usernum < 1)
+					usernum = system.matchuserdata(U_ALIAS, str, /* deleted users? */true);
+				bbs.edit_user(usernum);
+			} else
 				bbs.edit_user();
 			return;
 		}