diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c
index e57392a224f362d44824a8b1cf213e1a16b47725..4fce7d4c74c15d22df197a5cfc9267969a8cc560 100644
--- a/src/sbbs3/js_global.c
+++ b/src/sbbs3/js_global.c
@@ -790,7 +790,7 @@ js_mswait(JSContext *cx, uintN argc, jsval *arglist)
 {
 	jsval *argv=JS_ARGV(cx, arglist);
 	int32 val=1;
-	clock_t start=msclock();
+	double start=xp_timer();
 	jsrefcount	rc;
 
 	if(argc) {
@@ -801,7 +801,7 @@ js_mswait(JSContext *cx, uintN argc, jsval *arglist)
 	mswait(val);
 	JS_RESUMEREQUEST(cx, rc);
 
-	JS_SET_RVAL(cx, arglist,UINT_TO_JSVAL(msclock()-start));
+	JS_SET_RVAL(cx, arglist,DOUBLE_TO_JSVAL((xp_timer()-start) * 1000));
 
 	return(JS_TRUE);
 }
diff --git a/src/sbbs3/js_system.c b/src/sbbs3/js_system.c
index a41f919979f95f887f485f8b848cd85317ae19b2..ecc7a60818bd2d0c50567568b800816c7646c9dd 100644
--- a/src/sbbs3/js_system.c
+++ b/src/sbbs3/js_system.c
@@ -94,7 +94,7 @@ enum {
 	,SYS_PROP_MODS_DIR
 	,SYS_PROP_LOGS_DIR
 
-	/* msclock() access */
+	/* clock/timer access */
 	,SYS_PROP_CLOCK
 	,SYS_PROP_CLOCK_PER_SEC
 	,SYS_PROP_TIMER
@@ -312,10 +312,10 @@ static JSBool js_system_get(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
 			break;
 
 		case SYS_PROP_CLOCK:
-			*vp=DOUBLE_TO_JSVAL((double)msclock());
+			*vp=DOUBLE_TO_JSVAL((double)xp_timer64());
 			break;
 		case SYS_PROP_CLOCK_PER_SEC:
-			*vp=UINT_TO_JSVAL(MSCLOCKS_PER_SEC);
+			*vp=UINT_TO_JSVAL(1000);
 			break;
 		case SYS_PROP_TIMER:
 			*vp=DOUBLE_TO_JSVAL(xp_timer());