diff --git a/web/root/ecwebv3/pages/003-userlist.xjs b/web/root/ecwebv3/pages/003-userlist.xjs
index cf07b314d117cebdb7ffad0839570cac3fe9a7a2..fd71876fbdd7acaa721e5d4e83e31a4cb870399d 100644
--- a/web/root/ecwebv3/pages/003-userlist.xjs
+++ b/web/root/ecwebv3/pages/003-userlist.xjs
@@ -18,19 +18,15 @@
 	};
 
 	var pageSize = 500;
+	var offset = 1;
 
 	// Most people won't need to edit below this line
 	load("sbbsdefs.js");
 
-	if(	typeof http_request.query.offset == "undefined"
-		||
-		isNaN(parseInt(http_request.query.offset[0]))
-		||
-		http_request.query.offset[0] < 1
-	) {
-		var offset = 1;
-	} else {
-		var offset = parseInt(http_request.query.offset[0]);
+	if(typeof http_request.query.offset != "undefined") {
+		offset = parseInt(http_request.query.offset[0]);
+		if(isNaN(offset) || offset < 1)
+			offset = 1;
 	}
 	var previousOffset = Math.max(1, offset - pageSize);
 	var nextOffset = Math.min(offset + pageSize, offset + (system.lastuser - offset));
@@ -50,11 +46,6 @@
 		||
 		typeof http_request.query.sortorder == "undefined"
 		||
-		(	http_request.query.sortorder != "ascending"
-			&&
-			http_request.query.sortorder != "descending"
-		)
-		||
 		columns[http_request.query.sortby[0].toLowerCase()] == undefined
 		||
 		columns[http_request.query.sortby[0].toLowerCase()].type == undefined
@@ -114,6 +105,8 @@
 	
 	var copyProperties = function(source, dest) {
 		for(var property in source) {
+			if(columns[property] == undefined)
+				continue;
 			if(typeof source[property] == "string" || typeof source[property] == "number")
 				dest[property] = source[property];
 		}
@@ -128,8 +121,7 @@
 		if(usr1.settings&USER_DELETED || usr1.compare_ars("REST Q"))
 			continue;
 		var usr2 = copyProperties(usr1, {});
-		usr2 = copyProperties(usr1.stats, usr2);	
-		users.push(usr2);
+		users.push(copyProperties(usr1.stats, usr2));
 	}
 	users.sort(sortUsers);
 	
@@ -146,7 +138,7 @@
 
 <?xjs
 
-for(var u = 0; u < users.length; u++) {
+for(var u in users) {
 	print(format("<tr class='%s'>", (u % 2 == 0) ? "row1" : "row2"));
 	for(var c in columns) {
 		print(