diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 59222acc419685bae0994a0aca0e75fb4c632721..1d9050705496bc05501ed25a3a22cec105f034ce 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -127,6 +127,7 @@ MainWindow::MainWindow() :
     m_mimeDatabase(new MimeDatabase),
     m_navigationWidget(0),
     m_rightPaneWidget(0),
+    m_versionDialog(0),
     m_activeContext(0),
     m_pluginManager(0),
     m_outputPane(new OutputPane(m_globalContext)),
@@ -1085,8 +1086,20 @@ void MainWindow::openRecentFile()
 
 void MainWindow::aboutQtCreator()
 {
-    VersionDialog versionDialog(this);
-    versionDialog.exec();
+    if (!m_versionDialog) {
+        m_versionDialog = new VersionDialog(this);
+        connect(m_versionDialog, SIGNAL(finished(int)),
+                this, SLOT(destroyVersionDialog()));
+    }
+    m_versionDialog->show();
+}
+
+void MainWindow::destroyVersionDialog()
+{
+    if (m_versionDialog) {
+        m_versionDialog->deleteLater();
+        m_versionDialog = 0;
+    }
 }
 
 void MainWindow::aboutPlugins()
diff --git a/src/plugins/coreplugin/mainwindow.h b/src/plugins/coreplugin/mainwindow.h
index 180b932d710bffe7d0b1e71cd5d85ecd937fda41..a8edd089972489c1076ddf1359d078969ec6aa2e 100644
--- a/src/plugins/coreplugin/mainwindow.h
+++ b/src/plugins/coreplugin/mainwindow.h
@@ -83,6 +83,7 @@ class OutputPane;
 class ProgressManager;
 class ShortcutSettings;
 class ViewManager;
+class VersionDialog;
 
 class CORE_EXPORT  MainWindow : public QMainWindow
 {
@@ -160,6 +161,7 @@ private slots:
     void aboutPlugins();
     void updateFocusWidget(QWidget *old, QWidget *now);
     void toggleNavigation();
+    void destroyVersionDialog();
 
 private:
     void updateContextObject(IContext *context);
@@ -190,6 +192,7 @@ private:
     NavigationWidget *m_navigationWidget;
     RightPaneWidget *m_rightPaneWidget;
     Core::BaseView *m_outputView;
+    VersionDialog *m_versionDialog;
 
     IContext * m_activeContext;