diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ConvertToEnergy.ui b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ConvertToEnergy.ui
index 38b4fbba03f1ac20f8417f2367936c5b63bbaa29..15ad45e75dbd1428ccb5c71c853d9be855b21cf7 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ConvertToEnergy.ui
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/ConvertToEnergy.ui
@@ -510,7 +510,7 @@
              <number>0</number>
             </property>
             <property name="currentIndex">
-             <number>0</number>
+             <number>1</number>
             </property>
             <widget class="QWidget" name="page_5">
              <layout class="QGridLayout" name="gridLayout_4">
@@ -596,21 +596,8 @@
             </widget>
             <widget class="QWidget" name="page_6">
              <layout class="QGridLayout" name="gridLayout_10">
-              <item row="0" column="6">
-               <spacer name="horizontalSpacer_10">
-                <property name="orientation">
-                 <enum>Qt::Horizontal</enum>
-                </property>
-                <property name="sizeHint" stdset="0">
-                 <size>
-                  <width>40</width>
-                  <height>20</height>
-                 </size>
-                </property>
-               </spacer>
-              </item>
-              <item row="0" column="0">
-               <spacer name="horizontalSpacer">
+              <item row="1" column="1">
+               <spacer name="horizontalSpacer_16">
                 <property name="orientation">
                  <enum>Qt::Horizontal</enum>
                 </property>
@@ -622,54 +609,101 @@
                 </property>
                </spacer>
               </item>
-              <item row="0" column="2">
-               <widget class="QCheckBox" name="ckDetailedBalance">
-                <property name="text">
-                 <string>Detailed Balance</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="3">
-               <widget class="QLineEdit" name="leDetailedBalance">
-                <property name="sizePolicy">
-                 <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                  <horstretch>0</horstretch>
-                  <verstretch>0</verstretch>
-                 </sizepolicy>
-                </property>
-                <property name="maximumSize">
-                 <size>
-                  <width>40</width>
-                  <height>300</height>
-                 </size>
-                </property>
-                <property name="toolTip">
-                 <string>Temperature value to use in Detailed Balance.</string>
-                </property>
-                <property name="text">
-                 <string>300</string>
-                </property>
-               </widget>
-              </item>
-              <item row="0" column="5">
-               <widget class="QLabel" name="lbDBKelvin">
-                <property name="text">
-                 <string>Kelvin</string>
-                </property>
-                <property name="buddy">
-                 <cstring>leDetailedBalance</cstring>
-                </property>
-               </widget>
+              <item row="1" column="0">
+               <layout class="QHBoxLayout" name="horizontalLayout_35">
+                <item>
+                 <widget class="QCheckBox" name="ckDetailedBalance">
+                  <property name="text">
+                   <string>Detailed Balance</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLineEdit" name="leDetailedBalance">
+                  <property name="maximumSize">
+                   <size>
+                    <width>112</width>
+                    <height>16777215</height>
+                   </size>
+                  </property>
+                  <property name="text">
+                   <string>300</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="valDetailedBalance">
+                  <property name="styleSheet">
+                   <string notr="true">color: rgb(255, 0, 4)</string>
+                  </property>
+                  <property name="text">
+                   <string>*</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="lbDBKelvin">
+                  <property name="text">
+                   <string>Kelvin</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <spacer name="horizontalSpacer_10">
+                  <property name="orientation">
+                   <enum>Qt::Horizontal</enum>
+                  </property>
+                  <property name="sizeHint" stdset="0">
+                   <size>
+                    <width>40</width>
+                    <height>20</height>
+                   </size>
+                  </property>
+                 </spacer>
+                </item>
+               </layout>
               </item>
-              <item row="0" column="4">
-               <widget class="QLabel" name="valDetailedBalance">
-                <property name="styleSheet">
-                 <string notr="true">color: rgb(255, 0, 4)</string>
-                </property>
-                <property name="text">
-                 <string>*</string>
-                </property>
-               </widget>
+              <item row="1" column="2">
+               <layout class="QHBoxLayout" name="horizontalLayout_38">
+                <item>
+                 <widget class="QCheckBox" name="ckScaleMultiplier">
+                  <property name="text">
+                   <string>Scale: Multiply by</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLineEdit" name="leScaleMultiplier">
+                  <property name="text">
+                   <string>1.0</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <widget class="QLabel" name="valScaleMultiplier">
+                  <property name="text">
+                   <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
+&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
+p, li { white-space: pre-wrap; }
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; font-size:8.25pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:8pt; color:#ff0000;&quot;&gt;*&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                  </property>
+                 </widget>
+                </item>
+                <item>
+                 <spacer name="horizontalSpacer">
+                  <property name="orientation">
+                   <enum>Qt::Horizontal</enum>
+                  </property>
+                  <property name="sizeHint" stdset="0">
+                   <size>
+                    <width>40</width>
+                    <height>20</height>
+                   </size>
+                  </property>
+                 </spacer>
+                </item>
+               </layout>
               </item>
              </layout>
             </widget>
@@ -889,7 +923,7 @@
        <item>
         <widget class="QStackedWidget" name="swRebin">
          <property name="currentIndex">
-          <number>0</number>
+          <number>1</number>
          </property>
          <widget class="QWidget" name="page_9">
           <layout class="QVBoxLayout" name="verticalLayout_15">
@@ -3117,8 +3151,6 @@ p, li { white-space: pre-wrap; }
   <tabstop>ckUseCalib</tabstop>
   <tabstop>ckRunDiag</tabstop>
   <tabstop>ckRunAbsol</tabstop>
-  <tabstop>leDetailedBalance</tabstop>
-  <tabstop>ckDetailedBalance</tabstop>
   <tabstop>cbAnalyser</tabstop>
   <tabstop>leVanEi</tabstop>
   <tabstop>leVanELow</tabstop>
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect.h
index 422840c605b236996065e9d2fc4f6a3c39c08346..12326195f1d39bfdf91a475e8758160297c0867b 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect.h
@@ -9,7 +9,7 @@
 
 #include "MantidQtMantidWidgets/RangeSelector.h"
 
-//-----------------------------------------------------
+//----------------------------------------------------
 // Forward declarations
 //-----------------------------------------------------
 
@@ -106,6 +106,9 @@ namespace MantidQt
       void plotRaw(); ///< plot raw data from instrument
       void rebinCheck(bool state); ///< handle checking/unchecking of "Do Not Rebin"
       void detailedBalanceCheck(bool state); ///< handle checking/unchecking of "Detailed Balance"
+
+      void scaleMultiplierCheck(bool state); ///< handle checking/unchecking of "Scale: Multiply by"
+
       void resCheck(bool state); ///< handles checking/unchecking of "Create RES File" checkbox
       void useCalib(bool state); ///< whether to use calib file
       void calibCreate(); ///< create calibration file
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect.cpp
index 6636e36e991255ad4beb83d56b0b501566ef3133..5f28f79380aae86647b776528cece1c06774b501 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect.cpp
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect.cpp
@@ -80,6 +80,9 @@ void Indirect::initLayout()
   connect(m_uiForm.pbPlotRaw, SIGNAL(clicked()), this, SLOT(plotRaw()));
   connect(m_uiForm.rebin_ckDNR, SIGNAL(toggled(bool)), this, SLOT(rebinCheck(bool)));
   connect(m_uiForm.ckDetailedBalance, SIGNAL(toggled(bool)), this, SLOT(detailedBalanceCheck(bool)));
+
+  connect(m_uiForm.ckScaleMultiplier, SIGNAL(toggled(bool)), this, SLOT(scaleMultiplierCheck(bool)));
+
   connect(m_uiForm.ind_calibFile, SIGNAL(fileTextChanged(const QString &)), this, SLOT(calibFileChanged(const QString &)));
   connect(m_uiForm.ckUseCalib, SIGNAL(toggled(bool)), this, SLOT(useCalib(bool)));
   connect(m_uiForm.tabWidget, SIGNAL(currentChanged(int)), this, SLOT(tabChanged(int)));
@@ -120,6 +123,8 @@ void Indirect::initLayout()
   m_uiForm.rebin_leELow->setValidator(m_valDbl);
   m_uiForm.rebin_leEWidth->setValidator(m_valDbl);
   m_uiForm.rebin_leEHigh->setValidator(m_valDbl);
+
+  m_uiForm.leScaleMultiplier->setValidator(m_valPosDbl);
   
   m_uiForm.sqw_leELow->setValidator(m_valDbl);
   m_uiForm.sqw_leEWidth->setValidator(m_valDbl);
@@ -253,6 +258,11 @@ void Indirect::runConvertToEnergy()
     pyInput += "reducer.set_detailed_balance(" + m_uiForm.leDetailedBalance->text() + ")\n";
   }
 
+  if ( m_uiForm.ckScaleMultiplier->isChecked() )
+  {
+    pyInput += "reducer.set_scale_factor(" + m_uiForm.leScaleMultiplier->text() + ")\n";
+  }
+
   if ( m_uiForm.cbMappingOptions->currentText() != "Default" )
   {
     QString grouping = createMapFile(m_uiForm.cbMappingOptions->currentText());
@@ -311,8 +321,8 @@ void Indirect::runConvertToEnergy()
   }
 
   QString pyOutput = runPythonCode(pyInput).trimmed();
-
 }
+
 /**
 * This function holds any steps that must be performed on the selection of an instrument,
 * for example loading values from the Instrument Definition File (IDF).
@@ -330,6 +340,8 @@ void Indirect::setIDFValues(const QString & prefix)
   detailedBalanceCheck(m_uiForm.ckDetailedBalance->isChecked());
   resCheck(m_uiForm.cal_ckRES->isChecked());
 
+  scaleMultiplierCheck(m_uiForm.ckScaleMultiplier->isChecked());
+
   // Get list of analysers and populate cbAnalyser
   QString pyInput = 
     "from IndirectEnergyConversion import getInstrumentDetails\n"
@@ -567,6 +579,7 @@ void Indirect::createRESfile(const QString& file)
 bool Indirect::validateInput()
 {
   bool valid = true;
+
   // run files input
   if ( ! m_uiForm.ind_runFiles->isValid() )
   {
@@ -595,6 +608,7 @@ bool Indirect::validateInput()
   }
 
   int dummyPos = 0;
+
   QString text = m_uiForm.leDetailedBalance->text();
   QValidator::State fieldState = m_uiForm.leDetailedBalance->validator()->validate(text, dummyPos);
 
@@ -609,6 +623,23 @@ bool Indirect::validateInput()
     m_uiForm.valDetailedBalance->setText("");
   }
 
+  int dummyPos2 = 0;
+
+  // scale multiplier
+  QString scaleMultiplierText = m_uiForm.leScaleMultiplier->text();
+  QValidator::State fieldState2 = m_uiForm.leScaleMultiplier->validator()->validate(scaleMultiplierText, dummyPos2);
+
+  if ( m_uiForm.ckScaleMultiplier->isChecked() && fieldState2 != QValidator::Acceptable )
+  {
+    valid = false;
+    m_uiForm.valScaleMultiplier->setText("*");
+  }
+  else
+  {
+    m_uiForm.valScaleMultiplier->setText("");
+  }
+
+
   // SpectraMin/SpectraMax
   if (
     m_uiForm.leSpectraMin->text() == ""
@@ -1367,6 +1398,20 @@ void Indirect::resCheck(bool state)
   m_calResR2->setVisible(state);
 }
 
+
+
+/**
+* Disables/enables the relevant parts of the UI when user checks/unchecks the 'Multiplication Factor (Scale):'
+* ckScaleMultiplier checkbox.
+* @param state :: state of the checkbox
+*/
+void Indirect::scaleMultiplierCheck(bool state)
+{
+  m_uiForm.leScaleMultiplier->setEnabled(state);
+}
+
+
+
 void Indirect::useCalib(bool state)
 {
   m_uiForm.ind_calibFile->isOptional(!state);
diff --git a/Code/Mantid/scripts/Inelastic/inelastic_indirect_reducer.py b/Code/Mantid/scripts/Inelastic/inelastic_indirect_reducer.py
index a422677e1e5c204e9e4573a4c6a152790b5fc2f5..254bcf7c3230dd8cc2aa02d69bf4e1e02e8ca045 100644
--- a/Code/Mantid/scripts/Inelastic/inelastic_indirect_reducer.py
+++ b/Code/Mantid/scripts/Inelastic/inelastic_indirect_reducer.py
@@ -27,6 +27,7 @@ class IndirectReducer(MSGReducer):
     _detailed_balance_temp = None
     _rename_result = True
     _save_to_cm_1 = False
+    _scale_factor = None
     
     def __init__(self):
         """
@@ -38,6 +39,7 @@ class IndirectReducer(MSGReducer):
         self._background_end = None
         self._detailed_balance_temp = None
         self._rename_result = True
+        self._scale_factor = None
         
     def _setup_steps(self):
         """**NB: This function is run automatically by the base reducer class
@@ -81,6 +83,12 @@ class IndirectReducer(MSGReducer):
             step = steps.DetailedBalance(MultipleFrames=self._multiple_frames)
             step.set_temperature(self._detailed_balance_temp)
             self.append_step(step)
+        
+        # Multiplies the scale by the factor specified.
+        if self._scale_factor is not None:
+            step = steps.Scaling(MultipleFrames=self._multiple_frames)
+            step.set_scale_factor(self._scale_factor)
+            self.append_step(step)
             
         step = steps.Grouping(MultipleFrames=self._multiple_frames)
         step.set_grouping_policy(self._grouping_policy)
@@ -127,6 +135,9 @@ class IndirectReducer(MSGReducer):
     def set_detailed_balance(self, temp):
         self._detailed_balance_temp = float(temp)
 
+    def set_scale_factor(self, scaleFactor):
+        self._scale_factor = float(scaleFactor)
+        
     def set_rename(self, value):
         if not isinstance(value, bool):
             raise TypeError("value must be either True or False (boolean)")
diff --git a/Code/Mantid/scripts/Inelastic/inelastic_indirect_reduction_steps.py b/Code/Mantid/scripts/Inelastic/inelastic_indirect_reduction_steps.py
index 2b4637a5480b73f5a8fe2d14c33a64251848570c..b2ced0048b32b3b5cf1f1f6eec8ef467687b6035 100644
--- a/Code/Mantid/scripts/Inelastic/inelastic_indirect_reduction_steps.py
+++ b/Code/Mantid/scripts/Inelastic/inelastic_indirect_reduction_steps.py
@@ -53,8 +53,8 @@ class LoadData(ReductionStep):
             loader_name = loader_handle.getPropertyValue("LoaderName")
 
             if mtd[file].getInstrument().getName() == 'BASIS':
-		ModeratorTzero(file, file)
-		basis_mask = mtd[file].getInstrument().getStringParameter(
+                ModeratorTzero(file, file)
+                basis_mask = mtd[file].getInstrument().getStringParameter(
                     'Workflow.MaskFile')[0]
                 # Quick hack for older BASIS files that only have one side
                 #if (mtd[file].getRun()['run_number'] < 16693):
@@ -718,6 +718,32 @@ class DetailedBalance(ReductionStep):
     def set_temperature(self, temp):
         self._temp = temp
             
+class Scaling(ReductionStep):
+    """
+    """
+    _scale_factor = None
+    _multiple_frames = False
+    
+    def __init__(self, MultipleFrames=False):
+        super(Scaling, self).__init__()
+        self._scale_factor = None
+        self._multiple_frames = MultipleFrames
+        
+    def execute(self, reducer, file_ws):
+        if self._scale_factor is None: # Scale factor is the default value, 1.0
+            return
+
+        if ( self._multiple_frames ):
+            workspaces = mtd[file_ws].getNames()
+        else:
+            workspaces = [file_ws]
+
+        for ws in workspaces:
+            Scale(ws, ws, self._scale_factor, Operation="Multiply")
+        
+    def set_scale_factor(self, scaleFactor):
+        self._scale_factor = scaleFactor
+            
 class Grouping(ReductionStep):
     """This ReductionStep handles the grouping and renaming of the final
     workspace. In most cases, this will require a Rebin on the data. The option