diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ContainerSubtraction.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ContainerSubtraction.cpp
index 490fe65842ff432666397acb37afa2e148351854..1b8dcbaa7070c2434f615022518cf9a5ae5a8125 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ContainerSubtraction.cpp
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect/ContainerSubtraction.cpp
@@ -87,12 +87,16 @@ void ContainerSubtraction::run() {
   }
 
   // Generate output workspace name
-  int nameCutIndex = sampleWsName.lastIndexOf("_");
-  if (nameCutIndex == -1)
-    nameCutIndex = sampleWsName.length();
+  QString containerWsName = m_uiForm.dsContainer->getCurrentDataName();
+  int sampleNameCutIndex = sampleWsName.lastIndexOf("_");
+  if (sampleNameCutIndex == -1)
+    sampleNameCutIndex = sampleWsName.length();
+  int containerNameCutIndex = containerWsName.indexOf("_");
+  if(containerNameCutIndex == -1)
+	  containerNameCutIndex = containerWsName.length();
 
   const QString outputWsName =
-      sampleWsName.left(nameCutIndex)+"_Corrected";
+      sampleWsName.left(sampleNameCutIndex)+"_Subtract_"+containerWsName.left(containerNameCutIndex);
 
   applyCorrAlg->setProperty("OutputWorkspace", outputWsName.toStdString());