diff --git a/web/root/ecwebv3/pages/003-userlist.xjs b/web/root/ecwebv3/pages/003-userlist.xjs
index 77184d60d160db1b1f8d9a58ece3b538e56e1856..62ce7c4adef46c48e22e7e93bd335aa6c22e372f 100644
--- a/web/root/ecwebv3/pages/003-userlist.xjs
+++ b/web/root/ecwebv3/pages/003-userlist.xjs
@@ -17,9 +17,24 @@
 //		total_posts : { name : "Posts", type : "number" }
 	};
 
+	var pageSize = 500;
+
 	// 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))
+		||
+		http_request.query.offset < 1
+	) {
+		var offset = 1;
+	} else {
+		var offset = parseInt(http_request.query.offset);
+	}
+	var previousOffset = Math.max(1, offset - pageSize);
+	var nextOffset = Math.min(offset + pageSize, offset + (system.lastuser - offset));
+
 	var users = [];
 	var url = format(
 		"http://%s%s",
@@ -81,16 +96,18 @@
 	
 	var makeSortURLs = function(field, order) {
 		return format(
-			'<a class="ulLink" href="%s&sortby=%s&sortorder=ascending">'
+			'<a class="ulLink" href="%s&sortby=%s&sortorder=ascending&offset=%s">'
 			+ '<img src="./icons/up-arrow.png">'
 			+ '</a>'
-			+ '<a class="ulLink" href="%s&sortby=%s&sortorder=descending">'
+			+ '<a class="ulLink" href="%s&sortby=%s&sortorder=descending&offset=%s">'
 			+ '<img src="./icons/down-arrow.png">'
 			+ '</a>',
 			url,
 			field,
+			offset,
 			url,
-			field
+			field,
+			offset
 		);
 	}
 	
@@ -102,8 +119,13 @@
 		return dest;
 	}
 
-	for(var u = 1; u < system.lastuser; u++) {
+	for(var u = offset;
+		u < ((system.lastuser - offset > pageSize) ? offset + pageSize : system.lastuser);
+		u++
+	) {
 		var usr1 = new User(u);
+		if(usr1.settings&USER_DELETED || usr1.compare_ars("REST Q"))
+			continue;
 		var usr2 = copyProperties(usr1, {});
 		usr2 = copyProperties(usr1.stats, usr2);	
 		users.push(usr2);
@@ -137,4 +159,15 @@ for(var u = 0; u < users.length; u++) {
 }
 
 ?>
+
 </table>
+
+<?xjs
+
+if(offset > 1)
+	print(format('<a href="%s&offset=%s">Previous</a>&nbsp;&nbsp;',	url, previousOffset));
+
+if(system.lastuser - offset > pageSize)
+	print(format('<a href="%s&offset=%s">Next</a>',	url, nextOffset));
+
+?>