diff --git a/src/plugins/coreplugin/basefilewizard.cpp b/src/plugins/coreplugin/basefilewizard.cpp
index b04a4ef0fb40fe30456e38fec2a51ad11367f591..125e5b50906e2a85c964beed8b15941177a29b7d 100644
--- a/src/plugins/coreplugin/basefilewizard.cpp
+++ b/src/plugins/coreplugin/basefilewizard.cpp
@@ -88,6 +88,7 @@ public:
     QString displayCategory;
     Core::FeatureSet requiredFeatures;
     Core::IWizard::WizardFlags flags;
+    QString descriptionImage;
 };
 
 BaseFileWizardParameterData::BaseFileWizardParameterData(IWizard::WizardKind k) :
@@ -242,6 +243,17 @@ void BaseFileWizardParameters::setFlags(Core::IWizard::WizardFlags flags)
 {
     m_d->flags = flags;
 }
+
+QString BaseFileWizardParameters::descriptionImage() const
+{
+  return m_d->descriptionImage;
+}
+
+void BaseFileWizardParameters::setDescriptionImage(const QString &path)
+{
+    m_d->descriptionImage = path;
+}
+
 /*!
     \class Core::Internal::WizardEventLoop
     \brief Special event loop that runs a QWizard and terminates if the page changes.
@@ -417,6 +429,11 @@ QString BaseFileWizard::displayCategory() const
     return d->m_parameters.displayCategory();
 }
 
+QString BaseFileWizard::descriptionImage() const
+{
+       return d->m_parameters.descriptionImage();
+}
+
 void BaseFileWizard::runWizard(const QString &path, QWidget *parent, const QString &platform)
 {
     QTC_ASSERT(!path.isEmpty(), return);
diff --git a/src/plugins/coreplugin/basefilewizard.h b/src/plugins/coreplugin/basefilewizard.h
index fb07b2da21a37cb09f2d427989986169bd36ce47..64a21259d2e44381733527c74059094fcbbe825b 100644
--- a/src/plugins/coreplugin/basefilewizard.h
+++ b/src/plugins/coreplugin/basefilewizard.h
@@ -96,6 +96,10 @@ public:
 
     Core::IWizard::WizardFlags flags() const;
     void setFlags(Core::IWizard::WizardFlags flags);
+
+    QString descriptionImage() const;
+    void setDescriptionImage(const QString &path);
+
 private:
     QSharedDataPointer<BaseFileWizardParameterData> m_d;
 };
@@ -150,6 +154,8 @@ public:
     virtual QString category() const;
     virtual QString displayCategory() const;
 
+    virtual QString descriptionImage() const;
+
     virtual void runWizard(const QString &path, QWidget *parent, const QString &platform);
     virtual Core::FeatureSet requiredFeatures() const;
     virtual WizardFlags flags() const;
diff --git a/src/plugins/coreplugin/dialogs/iwizard.h b/src/plugins/coreplugin/dialogs/iwizard.h
index b6e0a4e79a82d53efe1c16d7bed6f6a22bb13ab5..ec26f696505cb91e2cf99e110f7db39bc0f0dc78 100644
--- a/src/plugins/coreplugin/dialogs/iwizard.h
+++ b/src/plugins/coreplugin/dialogs/iwizard.h
@@ -72,6 +72,8 @@ public:
     virtual QString category() const = 0;
     virtual QString displayCategory() const = 0;
 
+    virtual QString descriptionImage() const = 0;
+
     virtual FeatureSet requiredFeatures() const = 0;
     virtual WizardFlags flags() const = 0;
 
diff --git a/src/plugins/coreplugin/dialogs/newdialog.cpp b/src/plugins/coreplugin/dialogs/newdialog.cpp
index 4f68818a8eb3cc6b69208eaa6cb0bb42a1af7130..201c529c9efaad2b42cdd8eb41c7f153f213bce7 100644
--- a/src/plugins/coreplugin/dialogs/newdialog.cpp
+++ b/src/plugins/coreplugin/dialogs/newdialog.cpp
@@ -436,6 +436,13 @@ void NewDialog::currentItemChanged(const QModelIndex &index)
 
         m_ui->templateDescription->setHtml(desciption);
 
+        if (!wizard->descriptionImage().isEmpty()) {
+            m_ui->imageLabel->setVisible(true);
+            m_ui->imageLabel->setPixmap(wizard->descriptionImage());
+        } else {
+            m_ui->imageLabel->setVisible(false);
+        }
+
     } else {
         m_ui->templateDescription->setText(QString());
     }
diff --git a/src/plugins/coreplugin/dialogs/newdialog.ui b/src/plugins/coreplugin/dialogs/newdialog.ui
index 536c9f6eb60d0e7f6fafaf7246289108efc8a51d..5fd16849133d7b3acd6394d7c8bdd63969d0a15b 100644
--- a/src/plugins/coreplugin/dialogs/newdialog.ui
+++ b/src/plugins/coreplugin/dialogs/newdialog.ui
@@ -33,42 +33,16 @@
      </property>
     </widget>
    </item>
-   <item row="1" column="2">
-    <widget class="QTextBrowser" name="templateDescription">
-     <property name="sizePolicy">
-      <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
-       <horstretch>0</horstretch>
-       <verstretch>0</verstretch>
-      </sizepolicy>
+   <item row="2" column="1">
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
      </property>
-     <property name="focusPolicy">
-      <enum>Qt::NoFocus</enum>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
      </property>
     </widget>
    </item>
-   <item row="0" column="1" colspan="2">
-    <layout class="QHBoxLayout" name="horizontalLayout">
-     <item>
-      <spacer name="horizontalSpacer">
-       <property name="orientation">
-        <enum>Qt::Horizontal</enum>
-       </property>
-       <property name="sizeType">
-        <enum>QSizePolicy::MinimumExpanding</enum>
-       </property>
-       <property name="sizeHint" stdset="0">
-        <size>
-         <width>0</width>
-         <height>0</height>
-        </size>
-       </property>
-      </spacer>
-     </item>
-     <item>
-      <widget class="QComboBox" name="comboBox"/>
-     </item>
-    </layout>
-   </item>
    <item row="1" column="0">
     <widget class="QTreeView" name="templateCategoryView">
      <property name="sizePolicy">
@@ -170,16 +144,64 @@
      </property>
     </widget>
    </item>
-   <item row="2" column="1" colspan="2">
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-     </property>
+   <item row="1" column="2">
+    <widget class="QFrame" name="frame">
+     <property name="styleSheet">
+      <string notr="true">QFrame { background: white }</string>
+     </property>
+     <property name="frameShape">
+      <enum>QFrame::StyledPanel</enum>
+     </property>
+     <layout class="QVBoxLayout" name="verticalLayout">
+      <item>
+       <widget class="QLabel" name="imageLabel">
+        <property name="text">
+         <string/>
+        </property>
+       </widget>
+      </item>
+      <item>
+       <widget class="QTextBrowser" name="templateDescription">
+        <property name="sizePolicy">
+         <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
+          <horstretch>0</horstretch>
+          <verstretch>0</verstretch>
+         </sizepolicy>
+        </property>
+        <property name="focusPolicy">
+         <enum>Qt::NoFocus</enum>
+        </property>
+        <property name="frameShape">
+         <enum>QFrame::NoFrame</enum>
+        </property>
+       </widget>
+      </item>
+     </layout>
     </widget>
    </item>
+   <item row="0" column="1" colspan="2">
+    <layout class="QHBoxLayout" name="horizontalLayout">
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeType">
+        <enum>QSizePolicy::MinimumExpanding</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>0</width>
+         <height>0</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QComboBox" name="comboBox"/>
+     </item>
+    </layout>
+   </item>
   </layout>
  </widget>
  <resources/>
diff --git a/src/plugins/vcsbase/basecheckoutwizard.cpp b/src/plugins/vcsbase/basecheckoutwizard.cpp
index dfbcf275187133a3c1d6a94bb240e4e56e645a1a..9ef03dcc2472f048033ae6fb7f8565d59d90c523 100644
--- a/src/plugins/vcsbase/basecheckoutwizard.cpp
+++ b/src/plugins/vcsbase/basecheckoutwizard.cpp
@@ -119,6 +119,11 @@ QString BaseCheckoutWizard::id() const
     return d->id;
 }
 
+QString BaseCheckoutWizard::descriptionImage() const
+{
+    return QString();
+}
+
 void BaseCheckoutWizard::setId(const QString &id)
 {
     d->id = id;
diff --git a/src/plugins/vcsbase/basecheckoutwizard.h b/src/plugins/vcsbase/basecheckoutwizard.h
index b36bacc576c74e846e46f2f65c80e853195ab6df..cf012709c9291a8f5ffef6276e88ab017d747fdd 100644
--- a/src/plugins/vcsbase/basecheckoutwizard.h
+++ b/src/plugins/vcsbase/basecheckoutwizard.h
@@ -64,6 +64,8 @@ public:
     virtual QString displayCategory() const;
     virtual QString id() const;
 
+    virtual QString descriptionImage() const;
+
     virtual void runWizard(const QString &path, QWidget *parent, const QString &platform);
 
     virtual Core::FeatureSet requiredFeatures() const;