diff --git a/qt/scientific_interfaces/Indirect/IFQFitObserver.h b/qt/scientific_interfaces/Indirect/IFQFitObserver.h
index 049ff3520fd60ee066025693486e6dffe679d634..0f0d405738e4ce7f632c442d78eea8fcb7ca483e 100644
--- a/qt/scientific_interfaces/Indirect/IFQFitObserver.h
+++ b/qt/scientific_interfaces/Indirect/IFQFitObserver.h
@@ -10,6 +10,7 @@
 enum DataType {
   WIDTH,
   EISF,
+  ALL,
 };
 
 class IFQFitObserver {
diff --git a/qt/scientific_interfaces/Indirect/IndirectFunctionBrowser/FQFunctionModel.cpp b/qt/scientific_interfaces/Indirect/IndirectFunctionBrowser/FQFunctionModel.cpp
index da240e854af69737f07103cb253f0bc4c8374e5e..9db35f02deee90ec3776f1b6a34e9acffc8fccb5 100644
--- a/qt/scientific_interfaces/Indirect/IndirectFunctionBrowser/FQFunctionModel.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectFunctionBrowser/FQFunctionModel.cpp
@@ -25,8 +25,14 @@ QStringList widthFits = QStringList(
 QStringList eisfFits = QStringList(
     {"None", "EISFDiffCylinder", "EISFDiffSphere", "EISFDiffSphereAlkyl"});
 
-std::unordered_map<DataType, QStringList> dataTypeFitTypeMap(
-    {{DataType::WIDTH, widthFits}, {DataType::EISF, eisfFits}});
+QStringList combinedFits = QStringList(
+    {"None", "ChudleyElliot", "HallRoss", "FickDiffusion", "TeixeiraWater",
+     "EISFDiffCylinder", "EISFDiffSphere", "EISFDiffSphereAlkyl"});
+
+std::unordered_map<DataType, QStringList>
+    dataTypeFitTypeMap({{DataType::WIDTH, widthFits},
+                        {DataType::EISF, eisfFits},
+                        {DataType::ALL, combinedFits}});
 
 FQFunctionModel::FQFunctionModel() {
   for (auto functionName : widthFits + eisfFits) {
diff --git a/qt/scientific_interfaces/Indirect/JumpFitDataPresenter.cpp b/qt/scientific_interfaces/Indirect/JumpFitDataPresenter.cpp
index 8a420a076634e4172b2a2bfb45378bb4b82ed1f6..5c129c6824288c817e2af143f47370400beaad2c 100644
--- a/qt/scientific_interfaces/Indirect/JumpFitDataPresenter.cpp
+++ b/qt/scientific_interfaces/Indirect/JumpFitDataPresenter.cpp
@@ -25,9 +25,9 @@ JumpFitDataPresenter::JumpFitDataPresenter(
       m_lbParameterType(lbParameterType), m_lbParameter(lbParameter),
       m_jumpModel(model) {
   connect(view, SIGNAL(singleDataViewSelected()), this,
-          SLOT(showParameterComboBoxes()));
+          SLOT(handleSingleInputSelected()));
   connect(view, SIGNAL(multipleDataViewSelected()), this,
-          SLOT(hideParameterComboBoxes()));
+          SLOT(handleMultipleInputSelected()));
 
   connect(this, SIGNAL(requestedAddWorkspaceDialog()), this,
           SLOT(updateActiveDataIndex()));
@@ -54,6 +54,23 @@ void JumpFitDataPresenter::handleSampleLoaded(const QString &workspaceName) {
   emit updateAvailableFitTypes();
 }
 
+void JumpFitDataPresenter::handleMultipleInputSelected() {
+  hideParameterComboBoxes();
+  m_notifier.notify(
+      [](IFQFitObserver &obs) { obs.updateDataType(DataType::ALL); });
+}
+
+void JumpFitDataPresenter::handleSingleInputSelected() {
+  showParameterComboBoxes();
+  m_dataIndex = TableDatasetIndex{0};
+  std::string currentText = m_cbParameterType->currentText().toStdString();
+  auto dataType = m_cbParameterType->currentText() == QString("Width")
+                      ? DataType::WIDTH
+                      : DataType::EISF;
+  m_notifier.notify(
+      [&dataType](IFQFitObserver &obs) { obs.updateDataType(dataType); });
+}
+
 void JumpFitDataPresenter::hideParameterComboBoxes() {
   m_cbParameter->hide();
   m_cbParameterType->hide();
@@ -66,7 +83,6 @@ void JumpFitDataPresenter::showParameterComboBoxes() {
   m_cbParameterType->show();
   m_lbParameter->show();
   m_lbParameterType->show();
-  m_dataIndex = TableDatasetIndex{0};
 }
 
 void JumpFitDataPresenter::setActiveParameterType(const std::string &type) {
diff --git a/qt/scientific_interfaces/Indirect/JumpFitDataPresenter.h b/qt/scientific_interfaces/Indirect/JumpFitDataPresenter.h
index 011bbf495097a8d18b717cd3e2389a9dd85d527e..e9052b0d9689256a82448ab7055885d4a279b13d 100644
--- a/qt/scientific_interfaces/Indirect/JumpFitDataPresenter.h
+++ b/qt/scientific_interfaces/Indirect/JumpFitDataPresenter.h
@@ -47,6 +47,8 @@ private slots:
   void setSingleModelSpectrum(int index);
   void handleParameterTypeChanged(const QString &parameter);
   void handleSpectrumSelectionChanged(int parameterIndex);
+  void handleMultipleInputSelected();
+  void handleSingleInputSelected();
 
 signals:
   void spectrumChanged(WorkspaceIndex);