diff --git a/exec/xjs_handler.js b/exec/xjs_handler.js
index 066142c5825c54034ceb0c4f98733ae1f5c909ea..0f71a1295e225437cd38ed4d6da62cb48e2071d8 100644
--- a/exec/xjs_handler.js
+++ b/exec/xjs_handler.js
@@ -14,11 +14,12 @@ var last_cwd='';
 xjs_load(xjs_filename);
 
 function xjs_load(filename) {
+	if(last_cwd != '') {
+		if(filename.search(/^((\/)|([A-Za-z]:[\/\\]))/)==-1)
+			filename=last_cwd+'/'+filename;
+	}
 	var cwd=filename;
 	cwd=cwd.replace(/[^\\\/]*$/,'');
-
-	if(last_cwd != '')
-		filename=last_cwd+'/'+filename;
 	var ssjs_filename=filename+".ssjs";
 
 	// Probably a race condition on Win32