diff --git a/Framework/Algorithms/inc/MantidAlgorithms/ReflectometryReductionOneAuto2.h b/Framework/Algorithms/inc/MantidAlgorithms/ReflectometryReductionOneAuto2.h
index 3bc0a0e5c32e68fb20d71b5f82ff95825dc81a62..5c7e72c1456cf018a1474e22eb0cc65bf7873454 100644
--- a/Framework/Algorithms/inc/MantidAlgorithms/ReflectometryReductionOneAuto2.h
+++ b/Framework/Algorithms/inc/MantidAlgorithms/ReflectometryReductionOneAuto2.h
@@ -75,12 +75,10 @@ private:
   void applyFloodCorrections();
   double getPropertyOrDefault(const std::string &propertyName,
                               const double defaultValue);
-  void setOutputWorkspaces(std::vector<std::string> &IvsLamGroup,
-                           std::string const &outputIvsLam,
+  void setOutputWorkspaces(WorkspaceNames const &outputGroupNames,
+                           std::vector<std::string> &IvsLamGroup,
                            std::vector<std::string> &IvsQBinnedGroup,
-                           std::string const &outputIvsQBinned,
-                           std::vector<std::string> &IvsQGroup,
-                           std::string const &outputIvsQ);
+                           std::vector<std::string> &IvsQGroup);
 };
 
 } // namespace Algorithms
diff --git a/Framework/Algorithms/src/ReflectometryReductionOneAuto2.cpp b/Framework/Algorithms/src/ReflectometryReductionOneAuto2.cpp
index a62c2758b8856bf138f434f0ab8d05345fbf41f4..1d5886a85c2648be0ba734970b10f7a3a48efdb7 100644
--- a/Framework/Algorithms/src/ReflectometryReductionOneAuto2.cpp
+++ b/Framework/Algorithms/src/ReflectometryReductionOneAuto2.cpp
@@ -191,20 +191,18 @@ std::string ReflectometryReductionOneAuto2::getRunNumberForWorkspaceGroup(
 }
 
 // Get output workspace names from the user-specified properties, or default
-// names
-// if the properties were not specified
+// names if the properties were not specified
 auto ReflectometryReductionOneAuto2::getOutputWorkspaceNames()
     -> WorkspaceNames {
   WorkspaceNames result;
   MatrixWorkspace_const_sptr matrixWs = getProperty("InputWorkspace");
 
   std::string runNumber;
-  if (matrixWs)
+  if (matrixWs) {
     runNumber = getRunNumber(*matrixWs);
-  else {
+  } else {
     // Casting to WorkspaceGroup doesn't work - I think because InputWorkspace
-    // is
-    // declared as a MatrixWorkspace - so get it from the ADS instead
+    // is declared as a MatrixWorkspace - so get it from the ADS instead
     auto groupWs = AnalysisDataService::Instance().retrieveWS<WorkspaceGroup>(
         getPropertyValue("InputWorkspace"));
     runNumber = getRunNumberForWorkspaceGroup(groupWs);
@@ -762,29 +760,29 @@ bool ReflectometryReductionOneAuto2::checkGroups() {
 }
 
 void ReflectometryReductionOneAuto2::setOutputWorkspaces(
-    std::vector<std::string> &IvsLamGroup, std::string const &outputIvsLam,
+    WorkspaceNames const &outputGroupNames,
+    std::vector<std::string> &IvsLamGroup,
     std::vector<std::string> &IvsQBinnedGroup,
-    std::string const &outputIvsQBinned, std::vector<std::string> &IvsQGroup,
-    std::string const &outputIvsQ) {
+    std::vector<std::string> &IvsQGroup) {
   // Group the IvsQ and IvsLam workspaces
   Algorithm_sptr groupAlg = createChildAlgorithm("GroupWorkspaces");
   groupAlg->setChild(false);
   groupAlg->setRethrows(true);
   if (!IvsLamGroup.empty()) {
     groupAlg->setProperty("InputWorkspaces", IvsLamGroup);
-    groupAlg->setProperty("OutputWorkspace", outputIvsLam);
+    groupAlg->setProperty("OutputWorkspace", outputGroupNames.iVsLam);
     groupAlg->execute();
   }
   groupAlg->setProperty("InputWorkspaces", IvsQBinnedGroup);
-  groupAlg->setProperty("OutputWorkspace", outputIvsQBinned);
+  groupAlg->setProperty("OutputWorkspace", outputGroupNames.iVsQBinned);
   groupAlg->execute();
   groupAlg->setProperty("InputWorkspaces", IvsQGroup);
-  groupAlg->setProperty("OutputWorkspace", outputIvsQ);
+  groupAlg->setProperty("OutputWorkspace", outputGroupNames.iVsQ);
   groupAlg->execute();
 
-  setPropertyValue("OutputWorkspace", outputIvsQ);
-  setPropertyValue("OutputWorkspaceBinned", outputIvsQBinned);
-  setPropertyValue("OutputWorkspaceWavelength", outputIvsLam);
+  setPropertyValue("OutputWorkspace", outputGroupNames.iVsQ);
+  setPropertyValue("OutputWorkspaceBinned", outputGroupNames.iVsQBinned);
+  setPropertyValue("OutputWorkspaceWavelength", outputGroupNames.iVsLam);
 }
 
 /** Process groups. Groups are processed differently depending on transmission
@@ -915,8 +913,7 @@ bool ReflectometryReductionOneAuto2::processGroups() {
                    alg->getPropertyValue("MomentumTransferStep"));
   setPropertyValue("ScaleFactor", alg->getPropertyValue("ScaleFactor"));
 
-  setOutputWorkspaces(IvsLamGroup, output.iVsLam, IvsQBinnedGroup,
-                      output.iVsQBinned, IvsQGroup, output.iVsQ);
+  setOutputWorkspaces(output, IvsLamGroup, IvsQBinnedGroup, IvsQGroup);
 
   if (!polarizationAnalysisOn) {
     // No polarization analysis. Reduction stops here
@@ -961,8 +958,7 @@ bool ReflectometryReductionOneAuto2::processGroups() {
     }
   }
 
-  setOutputWorkspaces(IvsLamGroup, output.iVsLam, IvsQBinnedGroup,
-                      output.iVsQBinned, IvsQGroup, output.iVsQ);
+  setOutputWorkspaces(output, IvsLamGroup, IvsQBinnedGroup, IvsQGroup);
 
   return true;
 }