Index: src/sas/qtgui/MainWindow/DataExplorer.py
===================================================================
--- src/sas/qtgui/MainWindow/DataExplorer.py	(revision 722b7d678b0f7efacad11e34c2bf633853825838)
+++ src/sas/qtgui/MainWindow/DataExplorer.py	(revision b9ab9799ae66b0c3d6ea35fdcc0d1fe8118e1e7a)
@@ -99,4 +99,5 @@
         self.communicator.extMaskEditorSignal.connect(self.extShowEditDataMask)
         self.communicator.changeDataExplorerTabSignal.connect(self.changeTabs)
+        self.communicator.forcePlotDisplaySignal.connect(self.displayData)
 
         self.cbgraph.editTextChanged.connect(self.enableGraphCombo)
@@ -636,7 +637,10 @@
             # Try the current item
             main_data = GuiUtils.dataFromItem(plot_item)
+        # 1D dependent plots of 2D sets - special treatment
+        if isinstance(main_data, Data2D) and isinstance(plot_to_show, Data1D):
+            main_data = None
 
         # Make sure main data for 2D is always displayed
-        if main_data and not self.isPlotShown(main_data):
+        if main_data is not None and not self.isPlotShown(main_data):
             if isinstance(main_data, Data2D):
                 self.plotData([(plot_item, main_data)])
@@ -656,5 +660,5 @@
             # Plots with main data points on the same chart
             # Get the main data plot
-            if main_data and not self.isPlotShown(main_data):
+            if main_data is not None and not self.isPlotShown(main_data):
                 new_plots.append((plot_item, main_data))
             new_plots.append((plot_item, plot_to_show))
Index: src/sas/qtgui/Plotting/Plotter2D.py
===================================================================
--- src/sas/qtgui/Plotting/Plotter2D.py	(revision a0ad1467093f79252e4339eebd361d56e3f0e439)
+++ src/sas/qtgui/Plotting/Plotter2D.py	(revision b9ab9799ae66b0c3d6ea35fdcc0d1fe8118e1e7a)
@@ -288,4 +288,8 @@
         self.manager.communicator.plotUpdateSignal.emit([new_plot])
 
+        self.manager.communicator.forcePlotDisplaySignal.emit([item, new_plot])
+
+        # Show the plot
+
     def setSlicer(self, slicer):
         """
Index: src/sas/qtgui/Plotting/Slicers/AnnulusSlicer.py
===================================================================
--- src/sas/qtgui/Plotting/Slicers/AnnulusSlicer.py	(revision 63467b61b55727b3a1e6bd20f8e86e6b45006844)
+++ src/sas/qtgui/Plotting/Slicers/AnnulusSlicer.py	(revision b9ab9799ae66b0c3d6ea35fdcc0d1fe8118e1e7a)
@@ -148,4 +148,5 @@
         GuiUtils.updateModelItemWithPlot(item, new_plot, new_plot.id)
         self.base.manager.communicator.plotUpdateSignal.emit([new_plot])
+        self.base.manager.communicator.forcePlotDisplaySignal.emit([item, new_plot])
 
         if self.update_model:
Index: src/sas/qtgui/Plotting/Slicers/BoxSlicer.py
===================================================================
--- src/sas/qtgui/Plotting/Slicers/BoxSlicer.py	(revision 63467b61b55727b3a1e6bd20f8e86e6b45006844)
+++ src/sas/qtgui/Plotting/Slicers/BoxSlicer.py	(revision b9ab9799ae66b0c3d6ea35fdcc0d1fe8118e1e7a)
@@ -188,7 +188,9 @@
         new_plot.id = (self.averager.__name__) + self.base.data.name
         new_plot.is_data = True
+        item = self._item
         if self._item.parent() is not None:
             item = self._item.parent()
         GuiUtils.updateModelItemWithPlot(item, new_plot, new_plot.id)
+        self.base.manager.communicator.forcePlotDisplaySignal.emit([item, new_plot])
 
         if self.update_model:
Index: src/sas/qtgui/Plotting/Slicers/SectorSlicer.py
===================================================================
--- src/sas/qtgui/Plotting/Slicers/SectorSlicer.py	(revision 63467b61b55727b3a1e6bd20f8e86e6b45006844)
+++ src/sas/qtgui/Plotting/Slicers/SectorSlicer.py	(revision b9ab9799ae66b0c3d6ea35fdcc0d1fe8118e1e7a)
@@ -167,4 +167,5 @@
         new_plot.id = "SectorQ" + self.base.data.name
         new_plot.is_data = True
+        item = self._item
         if self._item.parent() is not None:
             item = self._item.parent()
@@ -172,4 +173,5 @@
 
         self.base.manager.communicator.plotUpdateSignal.emit([new_plot])
+        self.base.manager.communicator.forcePlotDisplaySignal.emit([item, new_plot])
 
         if self.update_model:
Index: src/sas/qtgui/Utilities/GuiUtils.py
===================================================================
--- src/sas/qtgui/Utilities/GuiUtils.py	(revision aed159f2c55235b1eb207e55b5601081f66c913c)
+++ src/sas/qtgui/Utilities/GuiUtils.py	(revision b9ab9799ae66b0c3d6ea35fdcc0d1fe8118e1e7a)
@@ -286,4 +286,7 @@
     # Plot fitting results (FittingWidget->GuiManager)
     resultPlotUpdateSignal = QtCore.pyqtSignal(list)
+
+    # show the plot as a regular in-workspace object
+    forcePlotDisplaySignal = QtCore.pyqtSignal(list)
 
 def updateModelItemWithPlot(item, update_data, name=""):
