diff --git a/src/plugins/git/changeselectiondialog.cpp b/src/plugins/git/changeselectiondialog.cpp
index 4b9da9448e3206d361fdcdf51b63e782081c3ca5..49e01e25d591dd309e0d1fd3b13c53c7d065fde8 100644
--- a/src/plugins/git/changeselectiondialog.cpp
+++ b/src/plugins/git/changeselectiondialog.cpp
@@ -60,7 +60,8 @@ ChangeSelectionDialog::ChangeSelectionDialog(const QString &workingDirectory, QW
     m_gitEnvironment = GitPlugin::instance()->gitClient()->processEnvironment();
     connect(m_ui.changeNumberEdit, SIGNAL(textChanged(QString)),
             this, SLOT(recalculateDetails(QString)));
-    recalculateDetails(m_ui.changeNumberEdit->text());
+    connect(m_ui.workingDirectoryEdit, SIGNAL(textChanged(QString)), this, SLOT(refresh()));
+    refresh();
 }
 
 ChangeSelectionDialog::~ChangeSelectionDialog()
@@ -140,5 +141,10 @@ void ChangeSelectionDialog::recalculateDetails(const QString &ref)
         m_ui.detailsText->setPlainText(tr("Fetching commit data..."));
 }
 
+void ChangeSelectionDialog::refresh()
+{
+    recalculateDetails(m_ui.changeNumberEdit->text());
+}
+
 } // Internal
 } // Git
diff --git a/src/plugins/git/changeselectiondialog.h b/src/plugins/git/changeselectiondialog.h
index 6a78093e29847fe5634f8705a4f52e4946a3d4fc..230c4966c7c7904d17035d69396c5da996011b85 100644
--- a/src/plugins/git/changeselectiondialog.h
+++ b/src/plugins/git/changeselectiondialog.h
@@ -57,6 +57,7 @@ public slots:
 private slots:
     void setDetails(int exitCode);
     void recalculateDetails(const QString &ref);
+    void refresh();
 
 private:
     Ui_ChangeSelectionDialog m_ui;