diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect/ContainerSubtraction.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect/ContainerSubtraction.h
index 846fb3b2b6e527d52b1923f49afd01c99bb0a845..63e9eaec2edbd32087817f2e1f9650cf36669d4a 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect/ContainerSubtraction.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect/ContainerSubtraction.h
@@ -20,9 +20,9 @@ private slots:
   /// Updates the preview mini plot
   void plotPreview(int specIndex);
   /// Handle abs. correction algorithm completion
-  void absCorComplete(bool error);
+  //void absCorComplete(bool error);
   /// Handle convert units and save algorithm completion
-  void postProcessComplete(bool error);
+  //void postProcessComplete(bool error);
 
 private:
   virtual void setup();
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ContainerSubtraction.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ContainerSubtraction.cpp
index 3ef9ba04f64738b58097d4f31f522a95bc84df1b..a868001a089cb5606044fa698148c7f6eed431bd 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ContainerSubtraction.cpp
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ContainerSubtraction.cpp
@@ -32,5 +32,75 @@ void ContainerSubtraction::loadSettings(const QSettings &settings) {
   m_uiForm.dsContainer->readSettings(settings.group());
   m_uiForm.dsSample->readSettings(settings.group());
 }
+
+
+/**
+ * Disables corrections when using S(Q, w) as input data.
+ *
+ * @param dataName Name of new data source
+ */
+void ContainerSubtraction::newData(const QString &dataName) {
+ const MatrixWorkspace_sptr sampleWs =
+      AnalysisDataService::Instance().retrieveWS<MatrixWorkspace>(
+          dataName.toStdString());
+  m_uiForm.spPreviewSpec->setMaximum(
+      static_cast<int>(sampleWs->getNumberHistograms()) - 1);
+
+  // Plot the sample curve
+  m_uiForm.ppPreview->clear();
+  m_uiForm.ppPreview->addSpectrum("Sample", sampleWs, 0, Qt::black);
+}
+
+
+/**
+ * Handles when the type of geometry changes
+ *
+ * Updates the file extension to search for
+ */
+void ContainerSubtraction::handleGeometryChange(int index) {
+  QString ext("");
+  switch (index) {
+  case 0:
+    // Geometry is flat
+    ext = "_flt_abs";
+    break;
+  case 1:
+    // Geometry is cylinder
+    ext = "_cyl_abs";
+    break;
+  case 2:
+    // Geometry is annulus
+    ext = "_ann_abs";
+    break;
+  }
+  /*m_uiForm.dsCorrections->setWSSuffixes(QStringList(ext));
+  m_uiForm.dsCorrections->setFBSuffixes(QStringList(ext + ".nxs"));*/
+}
+
+/**
+ * Replots the preview plot.
+ *
+ * @param specIndex Spectrum index to plot
+ */
+void ContainerSubtraction::plotPreview(int specIndex) {
+  //bool useCan = m_uiForm.ckUseCan->isChecked();
+
+  m_uiForm.ppPreview->clear();
+
+  // Plot sample
+  m_uiForm.ppPreview->addSpectrum(
+      "Sample", m_uiForm.dsSample->getCurrentDataName(), specIndex, Qt::black);
+
+  // Plot result
+  if (!m_pythonExportWsName.empty())
+    m_uiForm.ppPreview->addSpectrum(
+        "Corrected", QString::fromStdString(m_pythonExportWsName), specIndex,
+        Qt::green);
+
+  // Plot can
+ /* if (useCan)
+    m_uiForm.ppPreview->addSpectrum(
+        "Can", m_uiForm.dsContainer->getCurrentDataName(), specIndex, Qt::red);*/
+}
 }
 }
\ No newline at end of file