diff --git a/exec/scrubmsgs.js b/exec/scrubmsgs.js
index 6d62ec9121468e091ea650a811dde7c08855dc44..c72ef29b2ed69a13500bfb3aca949bbf052e5236 100644
--- a/exec/scrubmsgs.js
+++ b/exec/scrubmsgs.js
@@ -70,6 +70,16 @@ function open_and_scrub_base(code)
 	return result;
 }
 
+function base_filename(fullname)
+{
+	var ext = file_getext(fullname);
+
+	if(!ext)
+		return fullname;
+
+	return fullname.slice(0, -ext.length);
+}
+
 for(var i in argv) {
 	switch(argv[i]) {
 		case '-debug':
@@ -79,7 +89,7 @@ for(var i in argv) {
 			scan_only = true;
 			break;
 		default:
-			open_and_scrub_base(argv[i]);
+			open_and_scrub_base(base_filename(argv[i]));
 			break;
 	}
 }