diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp
index 5956f0854035925be99402b838cfab92157bb174..849e27dd140645ad22a10550502375fe6df25f4a 100644
--- a/src/plugins/git/gitclient.cpp
+++ b/src/plugins/git/gitclient.cpp
@@ -408,7 +408,7 @@ VcsBase::VcsBaseEditorWidget *GitClient::createVcsEditor(const Core::Id &id,
     QTC_ASSERT(rc, return 0);
     rc->setSource(source);
     if (codecType == CodecSource) {
-        rc->setCodec(VcsBase::VcsBaseEditorWidget::getCodec(source));
+        rc->setCodec(getSourceCodec(source));
     } else if (codecType == CodecLogOutput) {
         QString encodingName = readConfigValue(source, QLatin1String("i18n.logOutputEncoding"));
         if (encodingName.isEmpty())
@@ -675,6 +675,16 @@ void GitClient::slotBlameRevisionRequested(const QString &source, QString change
     blame(fi.absolutePath(), QStringList(), fi.fileName(), change, lineNumber);
 }
 
+QTextCodec *GitClient::getSourceCodec(const QString &file) const
+{
+    if (QFileInfo(file).isFile())
+        return VcsBase::VcsBaseEditorWidget::getCodec(file);
+    QString encodingName = readConfigValue(file, QLatin1String("gui.encoding"));
+    if (encodingName.isEmpty())
+        encodingName = QLatin1String("utf-8");
+    return QTextCodec::codecForName(encodingName.toLocal8Bit());
+}
+
 void GitClient::blame(const QString &workingDirectory,
                       const QStringList &args,
                       const QString &fileName,
diff --git a/src/plugins/git/gitclient.h b/src/plugins/git/gitclient.h
index 3746b420cc4ef8ead50ab5a0872376a941c102a8..c2375287993d347012f3ac88a1a89f39cca9f8bf 100644
--- a/src/plugins/git/gitclient.h
+++ b/src/plugins/git/gitclient.h
@@ -233,6 +233,7 @@ private slots:
     void slotBlameRevisionRequested(const QString &source, QString change, int lineNumber);
 
 private:
+    QTextCodec *getSourceCodec(const QString &file) const;
     VcsBase::VcsBaseEditorWidget *findExistingVCSEditor(const char *registerDynamicProperty,
                                                   const QString &dynamicPropertyValue) const;
     enum CodecType { CodecSource, CodecLogOutput, CodecNone };