diff --git a/Code/Mantid/Framework/Kernel/src/ConfigService.cpp b/Code/Mantid/Framework/Kernel/src/ConfigService.cpp
index a8c19760fe57132ac7bd7d3633ef0114d206bb44..913e755dd3f911f5ccab1ae3f2ebb06da78f4e23 100644
--- a/Code/Mantid/Framework/Kernel/src/ConfigService.cpp
+++ b/Code/Mantid/Framework/Kernel/src/ConfigService.cpp
@@ -718,6 +718,8 @@ void ConfigServiceImpl::createUserPropertiesFile() const
     filestr << std::endl;
     filestr << "## Show invisible workspaces" << std::endl;
     filestr << "#MantidOptions.InvisibleWorkspaces=0" << std::endl;
+    filestr << "## Re-use plot instances for different plot types" << std::endl;
+    filestr << "#MantidOptions.ReusePlotInstances=Off" << std::endl;
     filestr << std::endl;
     filestr << "## Uncomment to disable use of OpenGL to render unwrapped instrument views" << std::endl;
     filestr << "#MantidOptions.InstrumentView.UseOpenGL=Off" << std::endl;
diff --git a/Code/Mantid/MantidPlot/src/ConfigDialog.cpp b/Code/Mantid/MantidPlot/src/ConfigDialog.cpp
index f0ff62bef193d89f1b467947acc8324695ffb82d..6eef2bd9d6f1721c0ad1c86c8d0b5a6a8e5305ee 100644
--- a/Code/Mantid/MantidPlot/src/ConfigDialog.cpp
+++ b/Code/Mantid/MantidPlot/src/ConfigDialog.cpp
@@ -718,12 +718,26 @@ void ConfigDialog::initMantidOptionsTab()
   widgetLayout->addWidget(frame);
   QGridLayout *grid = new QGridLayout(frame);
 
+  // if on, for example all plotSpectrum will go to the same window.
+  m_reusePlotInstances =  new QCheckBox("Re-use plot instances for different types of plots");
+  m_reusePlotInstances->setChecked(false);
+  grid->addWidget(m_reusePlotInstances,0,0);
+  QString setting = QString::fromStdString(Mantid::Kernel::ConfigService::Instance().getString("MantidOptions.ReusePlotInstances"));
+  if(!setting.compare("On"))
+  {
+    m_reusePlotInstances->setChecked(true);
+  }
+  else if(!setting.compare("Off"))
+  {
+    m_reusePlotInstances->setChecked(false);
+  }
+
   //create a checkbox for invisible workspaces options
   m_invisibleWorkspaces = new QCheckBox("Show Invisible Workspaces");
   m_invisibleWorkspaces->setChecked(false);
-  grid->addWidget(m_invisibleWorkspaces,0,0);
+  grid->addWidget(m_invisibleWorkspaces,1,0);
 
-  QString setting = QString::fromStdString(Mantid::Kernel::ConfigService::Instance().getString("MantidOptions.InvisibleWorkspaces"));
+  setting = QString::fromStdString(Mantid::Kernel::ConfigService::Instance().getString("MantidOptions.InvisibleWorkspaces"));
   if(!setting.compare("1"))
   {
     m_invisibleWorkspaces->setChecked(true);
@@ -739,13 +753,13 @@ void ConfigDialog::initMantidOptionsTab()
   treeCategories->setSortingEnabled(false);
   treeCategories->setHeaderLabel("Show Algorithm Categories");
 
-  grid->addWidget(treeCategories,1,0);
+  grid->addWidget(treeCategories,2,0);
   refreshTreeCategories();
 
   // create a checkbox for the instrument view OpenGL option
   m_useOpenGL = new QCheckBox("Use OpenGL in Instrument View");
   m_useOpenGL->setChecked(true);
-  grid->addWidget(m_useOpenGL,3,0);
+  grid->addWidget(m_useOpenGL,4,0);
 
   setting = QString::fromStdString(Mantid::Kernel::ConfigService::Instance().
     getString("MantidOptions.InstrumentView.UseOpenGL")).toUpper();
@@ -2272,16 +2286,12 @@ void ConfigDialog::updateMantidOptionsTab()
 {
   Mantid::Kernel::ConfigServiceImpl& mantid_config = Mantid::Kernel::ConfigService::Instance();
 
+  // re-use plot instances (spectra, slice, color-fill, etc.)
+  QString reusePlotInst = m_reusePlotInstances->isChecked()? "On" : "Off";
+  mantid_config.setString("MantidOptions.ReusePlotInstances",reusePlotInst.toStdString());
+
   //invisible workspaces options
-  QString showinvisible_ws;
-  if(m_invisibleWorkspaces->isChecked())
-  {
-    showinvisible_ws="1";
-  }
-  else
-  {
-    showinvisible_ws="0";
-  }
+  QString showinvisible_ws = m_invisibleWorkspaces->isChecked()? "1" : "0";
   mantid_config.setString("MantidOptions.InvisibleWorkspaces",showinvisible_ws.toStdString());
 
   //OpenGL option
diff --git a/Code/Mantid/MantidPlot/src/ConfigDialog.h b/Code/Mantid/MantidPlot/src/ConfigDialog.h
index 4bad67ddbe9e6464ebf5b1e9b64fa52f7c7ee814..a6d342dcb2a45d04dd448dc23f27c76aa1aa495c 100644
--- a/Code/Mantid/MantidPlot/src/ConfigDialog.h
+++ b/Code/Mantid/MantidPlot/src/ConfigDialog.h
@@ -200,6 +200,7 @@ private:
   QWidget*  mantidOptionsPage;
   QWidget*  mantidSendToPage;
   QCheckBox *m_invisibleWorkspaces;
+  QCheckBox *m_reusePlotInstances;
   QCheckBox *m_useOpenGL;
   QCheckBox *m_sendToPrograms;
   QTreeWidget *treeCategories;