diff --git a/SystemTools.cxx b/SystemTools.cxx
index 0c7f4194f4de3b4712d452ff0b0c882ba7d9806d..24f70d18e3c9573190d92bc3ce7aa3ccc7fb5f78 100644
--- a/SystemTools.cxx
+++ b/SystemTools.cxx
@@ -2884,9 +2884,9 @@ bool SystemTools::RemoveFile(const std::string& source)
     SetLastError(err);
     return false;
     }
-  if (IsJunction(ws) && !DeleteJunction(ws))
+  if (IsJunction(ws) && DeleteJunction(ws))
     {
-    return false;
+    return true;
     }
   if (DeleteFileW(ws.c_str()) ||
       GetLastError() == ERROR_FILE_NOT_FOUND ||