diff --git a/src/sbbs3/js_com.c b/src/sbbs3/js_com.c
index ea3959bafc9f6b3f82f6bc164affec55c1a81346..4980ad1e345e3bdc663d081154abfce6bb95d04d 100644
--- a/src/sbbs3/js_com.c
+++ b/src/sbbs3/js_com.c
@@ -182,6 +182,9 @@ js_send(JSContext *cx, uintN argc, jsval *arglist)
 		return(JS_FALSE);
 	}
 
+	if(!js_argc(cx, argc, 1))
+		return JS_FALSE;
+
 	JS_SET_RVAL(cx, arglist, JSVAL_FALSE);
 
 	JSVALUE_TO_STRING(cx, argv[0], cp, &len);
@@ -218,6 +221,9 @@ js_sendfile(JSContext *cx, uintN argc, jsval *arglist)
 		return(JS_FALSE);
 	}
 
+	if(!js_argc(cx, argc, 1))
+		return JS_FALSE;
+
 	JS_SET_RVAL(cx, arglist, JSVAL_FALSE);
 
 	JSVALUE_TO_STRING(cx, argv[0], fname, NULL);
@@ -278,14 +284,14 @@ js_sendbin(JSContext *cx, uintN argc, jsval *arglist)
 		return(JS_FALSE);
 	}
 
-	if(argc && argv[0]!=JSVAL_VOID) {
-		if(!JS_ValueToInt32(cx,argv[0],&val))
-			return JS_FALSE;
-	}
-	if(argc>1 && argv[1]!=JSVAL_VOID)  {
-		if(!JS_ValueToInt32(cx,argv[1],(int32*)&size))
-			return JS_FALSE;
-	}
+	if(!js_argc(cx, argc, 1))
+		return JS_FALSE;
+
+	if(!JS_ValueToInt32(cx,argv[0],&val))
+		return JS_FALSE;
+
+	if(!JS_ValueToInt32(cx,argv[1],(int32*)&size))
+		return JS_FALSE;
 
 	rc=JS_SUSPENDREQUEST(cx);
 	switch(size) {
@@ -342,12 +348,12 @@ js_recv(JSContext *cx, uintN argc, jsval *arglist)
 		return(JS_FALSE);
 	}
 
-	if(argc && argv[0]!=JSVAL_VOID) {
+	if(argc) {
 		if(!JS_ValueToInt32(cx,argv[0],&len))
 			return JS_FALSE;
 	}
 
-	if(argc>1 && argv[1]!=JSVAL_VOID) {
+	if(argc>1) {
 		if(!JS_ValueToInt32(cx,argv[1],&timeout))
 			return JS_FALSE;
 	}
@@ -399,7 +405,7 @@ js_recvline(JSContext *cx, uintN argc, jsval *arglist)
 		return(JS_FALSE);
 	}
 
-	if(argc && argv[0]!=JSVAL_VOID) {
+	if(argc) {
 		if(!JS_ValueToInt32(cx,argv[0],&len))
 			return JS_FALSE;
 	}
@@ -409,7 +415,7 @@ js_recvline(JSContext *cx, uintN argc, jsval *arglist)
 		return(JS_FALSE);
 	}
 
-	if(argc>1 && argv[1]!=JSVAL_VOID) {
+	if(argc>1) {
 		if(!JS_ValueToInt32(cx,argv[1],&timeout))
 			return JS_FALSE;
 	}
@@ -458,12 +464,12 @@ js_recvbin(JSContext *cx, uintN argc, jsval *arglist)
 		return(JS_FALSE);
 	}
 
-	if(argc && argv[0]!=JSVAL_VOID) {
+	if(argc) {
 		if(!JS_ValueToInt32(cx,argv[0],(int32*)&size))
 			return JS_FALSE;
 	}
 
-	if(argc>1 && argv[1]!=JSVAL_VOID) {
+	if(argc>1) {
 		if(!JS_ValueToInt32(cx,argv[1],&timeout));
 			return JS_FALSE;
 	}
diff --git a/src/sbbs3/js_conio.c b/src/sbbs3/js_conio.c
index 405a0892781d4f5f93b18c018c88b2bcd2d25b18..08419d9095be8fffa4e1130a9e6dbf507d927f36 100644
--- a/src/sbbs3/js_conio.c
+++ b/src/sbbs3/js_conio.c
@@ -510,7 +510,7 @@ js_conio_gotoxy(JSContext *cx, uintN argc, jsval *arglist)
 	int32	x,y;
 	jsrefcount	rc;
 
-	if(argc==2 && JSVAL_IS_NUMBER(argv[0]) && JS_ValueToInt32(cx,argv[0],&x)
+	if(argc >= 2 && JSVAL_IS_NUMBER(argv[0]) && JS_ValueToInt32(cx,argv[0],&x)
 				&& JSVAL_IS_NUMBER(argv[1]) && JS_ValueToInt32(cx,argv[1],&y)) {
 		rc=JS_SUSPENDREQUEST(cx);
 		gotoxy(x,y);
@@ -518,6 +518,7 @@ js_conio_gotoxy(JSContext *cx, uintN argc, jsval *arglist)
 		JS_RESUMEREQUEST(cx, rc);
 		return(JS_TRUE);
 	}
+	JS_ReportError(cx, "Insufficient Arguments");
 
 	return(JS_FALSE);
 }