Fix for Bug 369528 - [Min/Max] Welcome screen incorrectly sized
diff --git a/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/cleanupaddon/CleanupAddon.java b/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/cleanupaddon/CleanupAddon.java
index 5a559b7..f205fb2 100644
--- a/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/cleanupaddon/CleanupAddon.java
+++ b/bundles/org.eclipse.e4.ui.workbench.addons.swt/src/org/eclipse/e4/ui/workbench/addons/cleanupaddon/CleanupAddon.java
@@ -213,14 +213,17 @@
 						return;
 
 					// If there are no more 'visible' children then make the parent go away too
-					boolean makeInvisible = true;
+					boolean makeParentInvisible = true;
 					for (MUIElement kid : parent.getChildren()) {
 						if (kid.isToBeRendered() && kid.isVisible()) {
-							makeInvisible = false;
+							makeParentInvisible = false;
 							break;
 						}
 					}
-					if (makeInvisible)
+
+					// Special check: If a perspective goes invisibe we need to make its
+					// PerspectiveStack invisible as well...see bug 369528
+					if (makeParentInvisible || changedObj instanceof MPerspective)
 						parent.setVisible(false);
 				}
 			}