diff --git a/src/plugins/git/gitcommand.cpp b/src/plugins/git/gitcommand.cpp
index b6f5abec9648438922893e5aac72af2fd35e7755..f63073f6a47185d3811cf9ec69312d6ef489bca1 100644
--- a/src/plugins/git/gitcommand.cpp
+++ b/src/plugins/git/gitcommand.cpp
@@ -132,9 +132,13 @@ void GitCommand::run()
         if (Git::Constants::debug)
             qDebug() << "GitCommand::run" << j << '/' << count << m_jobs.at(j).arguments;
 
+#ifdef Q_OS_WIN
         QStringList args;
         args << "/c" << m_binaryPath << m_jobs.at(j).arguments;
-        process.start("cmd.exe", args);
+        process.start(QLatin1String("cmd.exe"), args);
+#else
+        process.start(m_binaryPath, m_jobs.at(j).arguments);
+#endif
         if(!process.waitForStarted()) {
             ok = false;
             error += QString::fromLatin1("Error: \"%1\" could not be started: %2").arg(m_binaryPath, process.errorString());