diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 7eabc65001eabd7bbc14c04833904eba3fb975f6..e862ef95c36b55ccd6016e75b29b2e950b3e7dcb 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -546,7 +546,13 @@ bool GitClient::synchronousGit(const QString &workingDirectory,
         environment.set(QLatin1String("PATH"), m_settings.path);
     process.setEnvironment(environment.toStringList());
 
-    process.start(m_binaryPath, arguments);
+#ifdef Q_OS_WIN
+        QStringList args;
+        args << "/c" << m_binaryPath << arguments;
+        process.start(QLatin1String("cmd.exe"), args);
+#else
+        process.start(m_binaryPath, arguments);
+#endif
     process.closeWriteChannel();
 
     if (!process.waitForFinished()) {