diff --git a/src/sbbs3/jsexec.c b/src/sbbs3/jsexec.c
index dfa2f8cfe627388ea7a62c4564fe371a80cfff38..1323e78d38d40757b1baee6a10bfc2f0ef33d677 100644
--- a/src/sbbs3/jsexec.c
+++ b/src/sbbs3/jsexec.c
@@ -607,7 +607,7 @@ js_putenv(JSContext *cx, uintN argc, jsval *arglist)
 		return(JS_TRUE);
 	}
 
-	JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(putenv(p)==0));
+	JS_SET_RVAL(cx, arglist, BOOLEAN_TO_JSVAL(putenv(strdup(p))==0));
 	return(JS_TRUE);
 }