diff --git a/src/tools/msvc/clean.bat b/src/tools/msvc/clean.bat
index 0cc91e7..d52997e 100755
--- a/src/tools/msvc/clean.bat
+++ b/src/tools/msvc/clean.bat
@@ -4,7 +4,9 @@ REM src/tools/msvc/clean.bat
 set DIST=0
 if "%1"=="dist" set DIST=1
 
-set D=%CD%
+set CURR="%CD%"
+set D="%~dp0"
+cd %D%
 if exist ..\msvc if exist ..\..\..\src cd ..\..\..
 
 if exist debug rd /s /q debug
@@ -138,4 +140,5 @@ cd %D%
 REM Clean up ecpg regression test files
 msbuild ecpg_regression.proj /NoLogo /v:q %MSBFLAGS% /t:clean
 
+cd %CURR%
 goto :eof
