Index: src/sas/qtgui/MainWindow/GuiManager.py
===================================================================
--- src/sas/qtgui/MainWindow/GuiManager.py	(revision ee222412489564a59f068be9a530c0a7849bc60b)
+++ src/sas/qtgui/MainWindow/GuiManager.py	(revision fa762f46743038f10bda371a9f40277f95ce3be8)
@@ -138,4 +138,9 @@
         self.categoryManagerWidget = CategoryManager(self._parent, manager=self)
         self.grid_window = None
+        self.grid_window = BatchOutputPanel(parent=self)
+        self.grid_subwindow = self._workspace.workspace.addSubWindow(self.grid_window)
+        self.grid_subwindow.setVisible(False)
+        self.grid_window.windowClosedSignal.connect(lambda: self.grid_subwindow.setVisible(False))
+
         self._workspace.toolBar.setVisible(LocalConfig.TOOLBAR_SHOW)
         self._workspace.actionHide_Toolbar.setText("Show Toolbar")
@@ -616,16 +621,7 @@
         Display/redisplay the batch fit viewer
         """
-        if self.grid_window is None:
-            self.grid_window = BatchOutputPanel(parent=self, output_data=output_data)
-            subwindow = self._workspace.workspace.addSubWindow(self.grid_window)
-
-            #self.grid_window = BatchOutputPanel(parent=self, output_data=output_data)
-            self.grid_window.show()
-            return
+        self.grid_subwindow.setVisible(True)
         if output_data:
             self.grid_window.addFitResults(output_data)
-        self.grid_window.show()
-        if self.grid_window.windowState() == Qt.WindowMinimized:
-            self.grid_window.setWindowState(Qt.WindowActive)
 
     def actionHide_Toolbar(self):
Index: src/sas/qtgui/MainWindow/UnitTesting/GuiManagerTest.py
===================================================================
--- src/sas/qtgui/MainWindow/UnitTesting/GuiManagerTest.py	(revision 768387e00d5e9ad853fe870ebde7c8104e403412)
+++ src/sas/qtgui/MainWindow/UnitTesting/GuiManagerTest.py	(revision fa762f46743038f10bda371a9f40277f95ce3be8)
@@ -61,5 +61,5 @@
         self.assertIsInstance(self.manager.ackWidget, Acknowledgements)
         self.assertIsInstance(self.manager.aboutWidget, AboutBox)
-        self.assertIsInstance(self.manager.welcomePanel, WelcomePanel)
+        #self.assertIsInstance(self.manager.welcomePanel, WelcomePanel)
 
     def skip_testLogging(self):
Index: src/sas/qtgui/MainWindow/UnitTesting/MainWindowTest.py
===================================================================
--- src/sas/qtgui/MainWindow/UnitTesting/MainWindowTest.py	(revision 8353d908545a5d1d1ac66b2e075d0ec49b5a7cc2)
+++ src/sas/qtgui/MainWindow/UnitTesting/MainWindowTest.py	(revision fa762f46743038f10bda371a9f40277f95ce3be8)
@@ -47,5 +47,5 @@
         tmp_main.showMaximized()
         # See that only one subwindow is up
-        self.assertEqual(len(tmp_main.workspace.subWindowList()), 1)
+        self.assertEqual(len(tmp_main.workspace.subWindowList()), 2)
         # and that the subwindow is the fitting perspective
         self.assertIsInstance(tmp_main.workspace.subWindowList()[0].widget(),
Index: src/sas/qtgui/Utilities/GridPanel.py
===================================================================
--- src/sas/qtgui/Utilities/GridPanel.py	(revision 78797451892ebed8a860e0b32b65cc0193028445)
+++ src/sas/qtgui/Utilities/GridPanel.py	(revision fa762f46743038f10bda371a9f40277f95ce3be8)
@@ -18,4 +18,5 @@
     ERROR_COLUMN_CAPTION = " (Err)"
     IS_WIN = (sys.platform == 'win32')
+    windowClosedSignal = QtCore.pyqtSignal()
     def __init__(self, parent = None, output_data=None):
 
@@ -54,5 +55,4 @@
         # Fill in the table from input data
         self.setupTable(widget=self.tblParams, data=output_data)
-        #TODO: This is not what was inteded to be.
         if output_data is not None:
             # Set a table tooltip describing the model
@@ -64,6 +64,6 @@
         Overwrite QDialog close method to allow for custom widget close
         """
-        # Maybe we should just minimize
-        self.setWindowState(QtCore.Qt.WindowMinimized)
+        # notify the parent so it hides this window
+        self.windowClosedSignal.emit()
         event.ignore()
 
@@ -153,5 +153,6 @@
         Create a new tab with batch fitting results
         """
-        self.addTabPage()
+        if self.has_data:
+            self.addTabPage()
         # Update the new widget
         # Fill in the table from input data in the last/newest page
