diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 747ad6e4cbb66622d64ee680137ea092bc399aa0..f51d2f6d8b7b18ac378ab4bc40e218d7ee375095 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -2521,6 +2521,16 @@ bool GitClient::getCommitData(const QString &workingDirectory,
 
     // Run status. Note that it has exitcode 1 if there are no added files.
     QString output;
+    if (commitData.commitType == FixupCommit) {
+        QStringList arguments;
+        arguments << QLatin1String("HEAD") << QLatin1String("--not")
+                  << QLatin1String("--remotes") << QLatin1String("-n1");
+        synchronousLog(repoDirectory, arguments, &output, errorMessage);
+        if (output.isEmpty()) {
+            *errorMessage = msgNoCommits(false);
+            return false;
+        }
+    }
     const StatusResult status = gitStatus(repoDirectory, ShowAll, &output, errorMessage);
     switch (status) {
     case  StatusChanged:
@@ -3066,6 +3076,11 @@ QString GitClient::msgNoChangedFiles()
     return tr("There are no modified files.");
 }
 
+QString GitClient::msgNoCommits(bool includeRemote)
+{
+    return includeRemote ? tr("No commits were found") : tr("No local commits were found");
+}
+
 void GitClient::stashPop(const QString &workingDirectory, const QString &stash)
 {
     QStringList arguments(QLatin1String("stash"));
diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h
index 4b230594b62383566bbfbada4b2e5dbecf62f2d2..02fb6f1675f7d080a5342b09bba9ebc74b1a2005 100644
--- a/src/plugins/git/gitclient.h
+++ b/src/plugins/git/gitclient.h
@@ -316,6 +316,7 @@ public:
     void handleMergeConflicts(const QString &workingDir, const QString &commit, const QString &abortCommand);
 
     static QString msgNoChangedFiles();
+    static QString msgNoCommits(bool includeRemote);
 
     static const char *noColorOption;
     static const char *decorateOption;
diff --git a/src/plugins/git/logchangedialog.cpp b/src/plugins/git/logchangedialog.cpp
index 373e8f37e8785b09d1619df5adfa8bd6fcb84fec..4f11be1d115e9d34f8410905846c09873483817f 100644
--- a/src/plugins/git/logchangedialog.cpp
+++ b/src/plugins/git/logchangedialog.cpp
@@ -73,8 +73,7 @@ bool LogChangeWidget::init(const QString &repository, const QString &commit, boo
         return false;
     if (!m_model->rowCount()) {
         VcsBase::VcsBaseOutputWindow::instance()->appendError(
-                    includeRemote ? tr("No commits were found")
-                                  : tr("No local commits were found"));
+                    GitPlugin::instance()->gitClient()->msgNoCommits(includeRemote));
         return false;
     }
     selectionModel()->select(m_model->index(0, 0),