diff --git a/src/sbbs3/js_bbs.cpp b/src/sbbs3/js_bbs.cpp
index ef19b32fca86887bfa92d82e0b6f9c06d99562ae..5f1ad1e9f9cc9a1f2c19d10dc209de15bd06c0ca 100644
--- a/src/sbbs3/js_bbs.cpp
+++ b/src/sbbs3/js_bbs.cpp
@@ -1416,11 +1416,11 @@ js_replace_text(JSContext *cx, uintN argc, jsval *arglist)
 	if(!len) {
 		sbbs->text[i]=nulstr;
 		JS_SET_RVAL(cx, arglist, JSVAL_TRUE);
+		free(p);
 	} else {
 		sbbs->text[i]=p;
 		JS_SET_RVAL(cx, arglist, JSVAL_TRUE);
 	}
-	free(p);
 
 	return(JS_TRUE);
 }