diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp
index bcfeb76c01e2b195938c2922c4c0788605eb259c..ebdebda0b95e5fa5dd5fe8304e9836d271286b98 100644
--- a/src/plugins/git/gitplugin.cpp
+++ b/src/plugins/git/gitplugin.cpp
@@ -976,10 +976,8 @@ void GitPlugin::pull()
     }
 
     GitClient::StashGuard stashGuard(topLevel, QLatin1String("Pull"));
-    if (stashGuard.stashingFailed(false))
+    if (stashGuard.stashingFailed(false) || (rebase && (stashGuard.result() == GitClient::NotStashed)))
         return;
-    if (rebase && (stashGuard.result() == GitClient::NotStashed))
-        m_gitClient->synchronousCheckoutFiles(topLevel);
     if (!m_gitClient->synchronousPull(topLevel, rebase))
         stashGuard.preventPop();
 }