diff --git a/Code/Mantid/MantidPlot/src/ConfigDialog.cpp b/Code/Mantid/MantidPlot/src/ConfigDialog.cpp
index 836e1f1da9219f5e54132f103f69a0528f0fc6e6..0f05e50e681bbeda61323c300b2576507547fe9f 100644
--- a/Code/Mantid/MantidPlot/src/ConfigDialog.cpp
+++ b/Code/Mantid/MantidPlot/src/ConfigDialog.cpp
@@ -728,13 +728,13 @@ void ConfigDialog::initMdPlottingPage()
   // Update the visibility of the Vsi tab if the General Md Color Map was selected the last time
   if (m_mdSettings.getUsageGeneralMdColorMap())
   {
-    changeUsageGeneralMdColorMap(true);
+    changeUsageGeneralMdColorMap();
   }
 
   // Update the visibility of the Vsi tab if the last session checkbox was selected.
   if (m_mdSettings.getUsageLastSession())
   {
-    changeUsageLastSession(true);
+    changeUsageLastSession();
   }
 }
 
@@ -751,7 +751,6 @@ void ConfigDialog::initMdPlottingGeneralTab()
   mdPlottingTabWidget->addTab(mdPlottingGeneralPage, QString());
 
   // Color Map
-  mdPlottingGeneralFrame->setTitle("Use common Color Map for Slice Viewer and VSI");
   mdPlottingGeneralFrame->setCheckable(true);
   mdPlottingGeneralFrame->setChecked(m_mdSettings.getUsageGeneralMdColorMap());
 
@@ -794,39 +793,41 @@ void ConfigDialog::initMdPlottingVsiTab()
 {
   vsiPage = new QWidget();
   QVBoxLayout *vsiTabLayout = new QVBoxLayout(vsiPage);
-  QGroupBox *frame = new QGroupBox();
-  vsiTabLayout->addWidget(frame);
-  QGridLayout *grid = new QGridLayout(frame);
-  mdPlottingTabWidget->addTab(vsiPage, QString());
 
-  // Usage of the last setting
-  vsiLastSession = new QCheckBox();
-  lblVsiLastSession = new QLabel();
-  grid->addWidget(lblVsiLastSession , 0, 0);
-  grid->addWidget(vsiLastSession , 0, 1);
-  vsiLastSession->setChecked(m_mdSettings.getUsageLastSession());
+  // Initial View when loading into the VSI
+  QGroupBox *frameTop = new QGroupBox();
+  vsiTabLayout->addWidget(frameTop);
+  QGridLayout *gridTop = new QGridLayout(frameTop);
+  vsiInitialView = new QComboBox();
+
+  lblVsiInitialView = new QLabel();
+  gridTop->addWidget(lblVsiInitialView, 0, 0);
+  gridTop->addWidget(vsiInitialView, 0, 1);
+
+  mdPlottingVsiFrameBottom = new QGroupBox();
+  mdPlottingVsiFrameBottom->setCheckable(true);
+  mdPlottingVsiFrameBottom->setChecked(!m_mdSettings.getUsageLastSession());
+
+  vsiTabLayout->addWidget(mdPlottingVsiFrameBottom);
+  QGridLayout *grid = new QGridLayout(mdPlottingVsiFrameBottom);
+
+  mdPlottingTabWidget->addTab(vsiPage, QString());
 
   // Color Map
   vsiDefaultColorMap = new QComboBox();
   lblVsiDefaultColorMap = new QLabel();
-  grid->addWidget(lblVsiDefaultColorMap, 1, 0);
-  grid->addWidget(vsiDefaultColorMap, 1, 1);
+  grid->addWidget(lblVsiDefaultColorMap, 0, 0);
+  grid->addWidget(vsiDefaultColorMap, 0, 1);
 
   // Background Color
   vsiDefaultBackground = new ColorButton();
   lblVsiDefaultBackground = new QLabel();
-  grid->addWidget(lblVsiDefaultBackground, 2, 0);
-  grid->addWidget(vsiDefaultBackground, 2, 1);
+  grid->addWidget(lblVsiDefaultBackground, 1, 0);
+  grid->addWidget(vsiDefaultBackground, 1, 1);
 
   const QColor backgroundColor = m_mdSettings.getUserSettingBackgroundColor();
   vsiDefaultBackground->setColor(backgroundColor);
 
-  // Initial View when loading into the VSI
-  vsiInitialView = new QComboBox();
-  lblVsiInitialView = new QLabel();
-  grid->addWidget(lblVsiInitialView, 3, 0);
-  grid->addWidget(vsiInitialView, 3, 1);
-
   grid->setRowStretch(4,1);
 
   QLabel* label1 = new QLabel("<span style=\"font-weight:600;\">Note: The General Tab settings take precedence over the VSI Tab settings.</span>");
@@ -868,37 +869,37 @@ void ConfigDialog::initMdPlottingVsiTab()
  */
 void ConfigDialog::setupMdPlottingConnections()
 {
-  QObject::connect(this->mdPlottingGeneralFrame, SIGNAL(toggled(bool)), this, SLOT(changeUsageGeneralMdColorMap(bool)));
-  QObject::connect(this->vsiLastSession, SIGNAL(toggled(bool)), this, SLOT(changeUsageLastSession(bool)));
+  QObject::connect(this->mdPlottingGeneralFrame, SIGNAL(toggled(bool)), this, SLOT(changeUsageGeneralMdColorMap()));
+  QObject::connect(this->mdPlottingVsiFrameBottom, SIGNAL(toggled(bool)), this, SLOT(changeUsageLastSession()));
 }
 
 /**
  * Handle a change of the General Md Color Map selection.
- * @param The state of the general MD color map checkbox
  */
-void ConfigDialog::changeUsageGeneralMdColorMap(bool state)
+void ConfigDialog::changeUsageGeneralMdColorMap()
 {
-  // Set the visibility of the default color map of the VSI
-  vsiDefaultColorMap->setDisabled(state);
-  lblVsiDefaultColorMap->setDisabled(state);
+  // If the general color map setting is turned off and the vsi colormap is turned on
+  // then we set the default color map to enabled, else we disable it
+  bool isDefaultColorMapSelectable = (!mdPlottingGeneralFrame->isChecked() && mdPlottingVsiFrameBottom->isChecked());
+
+  vsiDefaultColorMap->setEnabled(isDefaultColorMapSelectable);
+  lblVsiDefaultColorMap->setEnabled(isDefaultColorMapSelectable);
+  //vsiDefaultColorMap->setEnabled(true);
+  //lblVsiDefaultColorMap->setEnabled(true);
 }
 
 /**
  * Handle a change of the Last Session selection.
-  * @param The state of the last session checkbox.
+  * @param isDefaultColorMapVsiChecked The state of the vsi default checkbox.
  */
-void ConfigDialog::changeUsageLastSession(bool state)
+void ConfigDialog::changeUsageLastSession()
 {
-  // Set the visibility of the default color map of the VSI
-  if (!mdPlottingGeneralFrame->isChecked())
-  {
-    vsiDefaultColorMap->setDisabled(state);
-    lblVsiDefaultColorMap->setDisabled(state);
-  }
+  // Set the color map of the VSI default
+  changeUsageGeneralMdColorMap();
 
   // Set the visibility of the background color button of the VSI
-  vsiDefaultBackground->setDisabled(state);
-  lblVsiDefaultBackground->setDisabled(state);
+  vsiDefaultBackground->setEnabled(mdPlottingVsiFrameBottom->isChecked());
+  lblVsiDefaultBackground->setEnabled(mdPlottingVsiFrameBottom->isChecked());
 }
 
 
@@ -2188,13 +2189,39 @@ void ConfigDialog::languageChange()
 
   // MDPlotting change
   mdPlottingTabWidget->setTabText(mdPlottingTabWidget->indexOf(vsiPage), tr("VSI"));
-  lblVsiDefaultColorMap->setText(tr("Default Color Map"));
-  lblVsiDefaultBackground->setText(tr("Background Color"));
-  lblVsiLastSession->setText(tr("Use the settings of the last VSI session"));
-  lblVsiInitialView->setText(tr("Initial View"));
-
   mdPlottingTabWidget->setTabText(mdPlottingTabWidget->indexOf(mdPlottingGeneralPage), tr("General"));
-  lblGeneralDefaultColorMap->setText(tr("General Color Map"));
+
+  // Vsi background color
+  QString vsiDefaultBackgroundToolTipText = "Sets the default background color when a new instance of the VSI is opened.";
+  vsiDefaultBackground->setToolTip(vsiDefaultBackgroundToolTipText);
+  lblVsiDefaultBackground->setToolTip(vsiDefaultBackgroundToolTipText);
+  lblVsiDefaultBackground->setText(tr("Background color"));
+
+  // Vsi initial view
+  QString vsiInitialViewToolTipText = "Sets the initial view when loading a new source into the VSI.";
+  lblVsiInitialView->setText(tr("Initial view"));
+  vsiInitialView->setToolTip(vsiInitialViewToolTipText);
+  lblVsiInitialView->setToolTip(vsiInitialViewToolTipText);
+
+  // VSI master default
+  QString vsiMasterDefaultToolTipText = "User master defaults for the color map and the background color. If not checked the settings of the last session are used.";
+  mdPlottingVsiFrameBottom->setTitle(tr("Use defaults for color map and background color"));
+  mdPlottingVsiFrameBottom->setToolTip(vsiMasterDefaultToolTipText);
+
+  // Vsi default color map
+  QString vsiDefaultColorMapToolTipText = "Sets the default color map when a new instance of the VSI is opened.";
+  vsiDefaultColorMap->setToolTip(vsiDefaultColorMapToolTipText);
+  lblVsiDefaultColorMap->setToolTip(vsiDefaultColorMapToolTipText);
+  lblVsiDefaultColorMap->setText(tr("Default color map"));
+
+  // General plotting tab
+  QString vsiGeneralDefaultColorMapToolTipText = "Sets the default color map for both the Slice Viewer and the VSI.";
+  mdPlottingGeneralColorMap->setToolTip(vsiGeneralDefaultColorMapToolTipText);
+  lblGeneralDefaultColorMap->setToolTip(vsiGeneralDefaultColorMapToolTipText);
+  lblGeneralDefaultColorMap->setText(tr("Default color map"));
+
+  mdPlottingGeneralFrame->setTitle("Use same default color map for Slice Viewer and VSI");
+  mdPlottingGeneralFrame->setToolTip("The specifed color map will be available for the Slice Viewer and the VSI when a new instance of either is started.");
 }
 
 void ConfigDialog::accept()
@@ -2465,10 +2492,14 @@ void ConfigDialog::updateMdPlottingSettings()
     m_mdSettings.setUserSettingColorMap(vsiDefaultColorMap->currentText());
   }
 
-  // Read if the usage of the last color map should be performed
-  if (vsiLastSession)
+  // Read if the usage of the last color map and background color should be performed
+  if (mdPlottingVsiFrameBottom->isChecked())
+  {
+    m_mdSettings.setUsageLastSession(false);
+  }
+  else
   {
-    m_mdSettings.setUsageLastSession(vsiLastSession->isChecked());
+    m_mdSettings.setUsageLastSession(true);
   }
 
   // Read the background selection
diff --git a/Code/Mantid/MantidPlot/src/ConfigDialog.h b/Code/Mantid/MantidPlot/src/ConfigDialog.h
index 05f5a7d17d66f48dde8d4ffbaafed6787d67edc8..64f80367c2e9aa5119081d709160ca78fdd0591a 100644
--- a/Code/Mantid/MantidPlot/src/ConfigDialog.h
+++ b/Code/Mantid/MantidPlot/src/ConfigDialog.h
@@ -218,7 +218,7 @@ private:
   QComboBox *vsiDefaultColorMap, *vsiInitialView, *mdPlottingGeneralColorMap;
   QLabel *lblVsiDefaultColorMap, *lblVsiDefaultBackground, *lblGeneralDefaultColorMap, *lblBoxGeneralDefaultColorMap, *lblVsiLastSession, *lblVsiInitialView;
   ColorButton *vsiDefaultBackground;
-  QGroupBox* mdPlottingGeneralFrame;
+  QGroupBox* mdPlottingGeneralFrame, *mdPlottingVsiFrameBottom;
   QCheckBox* vsiLastSession;
   MantidQt::API::MdSettings m_mdSettings;
 
@@ -276,8 +276,8 @@ private:
   QCheckBox *boxUpdateTableValues;
 
   public slots:
-    void changeUsageGeneralMdColorMap(bool state);
-    void changeUsageLastSession(bool state);
+    void changeUsageGeneralMdColorMap();
+    void changeUsageLastSession();
 };
 
 #endif // CONFIGDIALOG_H
diff --git a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/ColorMapManager.h b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/ColorMapManager.h
index ac9824a7e7644293952181736e2f8d19a1d2ea1b..7cd2b3b441a1a1fde84c038f851c0faa6be94345 100644
--- a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/ColorMapManager.h
+++ b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/ColorMapManager.h
@@ -49,10 +49,10 @@ namespace Mantid
           
           /**
            * Get default color map
-           * @param viewSwitched If the view has switched or not.
+           * @param useCurrentColorMap If we should use the current color map.
            * @returns index The index of the default color map in the list of color maps.
            */
-          int getDefaultColorMapIndex(bool viewSwitched);
+          int getDefaultColorMapIndex(bool useCurrentColorMap);
 
           /**
            * Read in and store the available color maps
diff --git a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/MdViewerWidget.h b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/MdViewerWidget.h
index f77b94f36410fe96708373125a80108381233e7f..cf0530005ca54162f17e57d978081823daff3e73 100644
--- a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/MdViewerWidget.h
+++ b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/inc/MantidVatesSimpleGuiViewWidgets/MdViewerWidget.h
@@ -144,6 +144,7 @@ private:
   QHBoxLayout *viewLayout; ///< Layout manager for the view widget
   pqApplicationSettingsReaction *viewSettings; ///< Holder for the view settings reaction
   bool viewSwitched;
+  bool useCurrentColorMap;
   ModeControlWidget::Views initialView; ///< Holds the initial view
   MantidQt::API::MdSettings mdSettings;///<Holds the MD settings which are used to persist data
   MantidQt::API::MdConstants mdConstants;/// < Holds the MD constants
@@ -195,6 +196,8 @@ private:
   void handleDragAndDropPeaksWorkspaces(QEvent* e, QString text, QStringList& wsNames);
   /// Set up the default color for the background of the view.
   void setColorForBackground();
+  /// Set the color map 
+  void setColorMap();
   /// Render the original workspace
   pqPipelineSource* renderOriginalWorkspace(const std::string originalWorkspaceName);
   /// Remove the rebinning when switching views or otherwise.
diff --git a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/src/ColorMapManager.cpp b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/src/ColorMapManager.cpp
index c32a2a5429488ad057f30b1cb1a6290bce90ea0c..b775d9fb08dcb9d7e1031839b8c8164e4b2069d6 100644
--- a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/src/ColorMapManager.cpp
+++ b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/src/ColorMapManager.cpp
@@ -19,12 +19,12 @@ namespace Mantid
       {
       }
 
-      int ColorMapManager::getDefaultColorMapIndex(bool viewSwitched)
+      int ColorMapManager::getDefaultColorMapIndex(bool useCurrentColorMap)
       {
         QString defaultColorMap;
 
-        // If the view has switched use the last color map index
-        if (viewSwitched)
+        // If the view has switched or the VSI is loaded use the last color map index
+        if (useCurrentColorMap)
         {
           defaultColorMap = m_mdSettings.getLastSessionColorMap();
         }
diff --git a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/src/MdViewerWidget.cpp b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/src/MdViewerWidget.cpp
index 6aca93a29dd2104284ddf343bd0e9a03e8fdca39..9c1cdf03b9387d695ba0b18a1b445e710af2d5db 100644
--- a/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/src/MdViewerWidget.cpp
+++ b/Code/Mantid/Vates/VatesSimpleGui/ViewWidgets/src/MdViewerWidget.cpp
@@ -136,7 +136,7 @@ REGISTER_VATESGUI(MdViewerWidget)
  */
 MdViewerWidget::MdViewerWidget() : VatesViewerInterface(), currentView(NULL),
   dataLoader(NULL), hiddenView(NULL), lodAction(NULL), screenShot(NULL), viewLayout(NULL),
-  viewSettings(NULL), initialView(ModeControlWidget::STANDARD), m_rebinAlgorithmDialogProvider(this), m_rebinnedWorkspaceIdentifier("_tempvsi")
+  viewSettings(NULL), useCurrentColorMap(false), initialView(ModeControlWidget::STANDARD), m_rebinAlgorithmDialogProvider(this), m_rebinnedWorkspaceIdentifier("_tempvsi")
 {
   //this will initialize the ParaView application if needed.
   VatesParaViewApplication::instance();
@@ -621,7 +621,7 @@ void MdViewerWidget::renderingDone()
 {
   if (this->viewSwitched)
   {
-    this->ui.colorSelectionWidget->loadColorMap(this->viewSwitched); // Load the default color map
+    this->setColorMap(); // Load the default color map
     this->currentView->setColorsForView(this->ui.colorSelectionWidget);
     this->viewSwitched = false;
   }
@@ -643,7 +643,7 @@ void MdViewerWidget::renderWorkspace(QString workspaceName, int workspaceType, s
   if (this->currentView->getNumSources() == 0)
   {
     this->setColorForBackground();
-    this->ui.colorSelectionWidget->loadColorMap(this->viewSwitched);
+    this->setColorMap();
 
     this->ui.modeControlWidget->setToStandardView();
     this->currentView->hide();
@@ -651,6 +651,12 @@ void MdViewerWidget::renderWorkspace(QString workspaceName, int workspaceType, s
     this->currentView->initializeColorScale();
   }
 
+  // Set usage of current color map to true, since we have loade the VSI
+  if (!this->useCurrentColorMap)
+  {
+    this->useCurrentColorMap = true;
+  }
+
   QString sourcePlugin = "";
   if (VatesViewerInterface::PEAKS == workspaceType)
   {
@@ -879,6 +885,7 @@ ModeControlWidget::Views MdViewerWidget::checkViewAgainstWorkspace(ModeControlWi
 void MdViewerWidget::setupPluginMode()
 {
   GlobalInterpreterLock gil;
+  this->useCurrentColorMap = false; // Don't use the current color map at start up.
   this->setupUiAndConnections();
   this->createMenus();
   this->setupMainView();
@@ -893,7 +900,7 @@ void MdViewerWidget::renderAndFinalSetup()
 {
   this->setColorForBackground();
   this->currentView->render();
-  this->ui.colorSelectionWidget->loadColorMap(this->viewSwitched);
+  this->setColorMap();
   this->currentView->setColorsForView(this->ui.colorSelectionWidget);
   this->currentView->checkView(this->initialView);
   this->currentView->updateAnimationControls();
@@ -1028,6 +1035,7 @@ bool MdViewerWidget::eventFilter(QObject *obj, QEvent *ev)
       this->currentView ->destroyAllSourcesInView();
       this->currentView->updateSettings();
       this->currentView->hide();
+      this->useCurrentColorMap = false;
 
       return true;
     }
@@ -1397,6 +1405,14 @@ void MdViewerWidget::dropEvent(QDropEvent *e) {
   }
 }
 
+/**
+ * Set the color map
+ */
+void MdViewerWidget::setColorMap()
+{
+   // If it is not the first startup of the color map, then we want to use the current color map
+  this->ui.colorSelectionWidget->loadColorMap(this->useCurrentColorMap);
+}
 
 } // namespace SimpleGui
 } // namespace Vates