Bug 339982 - MenuContribution with visibleWhen Expression still visible when false
diff --git a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
index b8cd169..43efc02 100644
--- a/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
+++ b/bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/MenuManagerRenderer.java
@@ -441,18 +441,16 @@
 			return false;
 		}
 		if (menuBar) {
-			if (menuContribution.getVisibleWhen() != null) {
-				final IEclipseContext parentContext = modelService
-						.getContainingContext(menuModel);
-				parentContext.runAndTrack(new RunAndTrack() {
-					@Override
-					public boolean changed(IEclipseContext context) {
-						record.updateVisibility(parentContext.getActiveLeaf());
-						manager.update(true);
-						return true;
-					}
-				});
-			}
+			final IEclipseContext parentContext = modelService
+					.getContainingContext(menuModel);
+			parentContext.runAndTrack(new RunAndTrack() {
+				@Override
+				public boolean changed(IEclipseContext context) {
+					record.updateVisibility(parentContext.getActiveLeaf());
+					manager.update(true);
+					return true;
+				}
+			});
 		}
 		return true;
 	}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuHelper.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuHelper.java
index bc31121..2fe7759 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuHelper.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/menus/MenuHelper.java
@@ -350,6 +350,7 @@
 				text = text.substring(0, idx) + '&' + text.substring(idx);
 			}
 		}
+		element.setVisibleWhen(getVisibleWhen(menuAddition));
 		element.setIconURI(MenuHelper
 				.getIconUrl(menuAddition, IWorkbenchRegistryConstants.ATT_ICON));
 		element.setLabel(Util.safeString(text));