diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
index e23341f..0f61a7a 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/messages.properties
@@ -1099,10 +1099,10 @@
 ExtendedFileEditorsPreferencePage_strategyForUnassociatedFiles=&Open unassociated files with:
 ExtendedFileEditorsPreferencePage_labelNotResolved={0} (label not resolved)
 
-SystemSettingsChange_title = High Contrast Mode Change
-SystemSettingsChange_message = The high contrast mode has changed. You will need to restart the workbench to complete the change. Restart now?
-SystemSettingsChange_yes = Yes
-SystemSettingsChange_no = No
+SystemSettingsChange_title = High Contrast Mode Changed
+SystemSettingsChange_message = Restart for the theme changes to take full effect?
+SystemSettingsChange_yes = &Restart
+SystemSettingsChange_no = &Don't Restart
 
 IDEWorkbenchActivityHelper_jobName=Update Capability Enablement for Natures
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
index 31695ad..3f2561a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchMessages.java
@@ -995,6 +995,7 @@
 	// Zoom change messages
 	public static String Workbench_zoomChangedTitle;
 	public static String Workbench_zoomChangedMessage;
-	public static String Workbench_zoomChangedRestart;
+	public static String Workbench_RestartButton;
+	public static String Workbench_DontRestartButton;
 
 }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
index fd492e7..a7506d7 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchWindow.java
@@ -945,7 +945,7 @@
 					int dialogResponse = MessageDialog.open(MessageDialog.QUESTION, getShell(),
 							WorkbenchMessages.Workbench_zoomChangedTitle,
 							WorkbenchMessages.Workbench_zoomChangedMessage, SWT.NONE,
-							WorkbenchMessages.Workbench_zoomChangedRestart, IDialogConstants.NO_LABEL);
+							WorkbenchMessages.Workbench_RestartButton, WorkbenchMessages.Workbench_DontRestartButton);
 					if (event.doit && dialogResponse == 0) {
 						getWorkbenchImpl().restart(true);
 					}
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
index e40b754..ac7a10a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/dialogs/ViewsPreferencePage.java
@@ -20,7 +20,6 @@
 package org.eclipse.ui.internal.dialogs;
 
 import static org.eclipse.jface.viewers.LabelProvider.createTextProvider;
-import static org.eclipse.swt.events.SelectionListener.widgetSelectedAdapter;
 import static org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants.ATT_COLOR_AND_FONT_ID;
 import static org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants.ATT_OS_VERSION;
 import static org.eclipse.ui.internal.registry.IWorkbenchRegistryConstants.ATT_THEME_ASSOCIATION;
@@ -49,9 +48,9 @@
 import org.eclipse.e4.ui.workbench.renderers.swt.CTabRendering;
 import org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer;
 import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.fieldassist.ControlDecoration;
 import org.eclipse.jface.fieldassist.FieldDecorationRegistry;
-import org.eclipse.jface.notifications.AbstractNotificationPopup;
 import org.eclipse.jface.preference.IPreferenceStore;
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.jface.util.Util;
@@ -60,18 +59,16 @@
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.window.Window;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.layout.RowLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Link;
 import org.eclipse.ui.IWorkbench;
 import org.eclipse.ui.IWorkbenchPreferenceConstants;
 import org.eclipse.ui.IWorkbenchPreferencePage;
@@ -109,8 +106,6 @@
 
 	private Button themingEnabled;
 
-	private NotificationPopUp notificationPopUp;
-
 	@Override
 	protected Control createContents(Composite parent) {
 		initializeDialogUnits(parent);
@@ -304,22 +299,29 @@
 			colorFontsDecorator.hide();
 
 			if (themeChanged || colorsAndFontsThemeChanged) {
-				if (notificationPopUp == null) {
-					notificationPopUp = new NotificationPopUp(getShell().getDisplay());
-					notificationPopUp.open();
-				}
+				showRestartDialog();
 			}
 		}
 		if (themingEnabledChanged) {
-			if (notificationPopUp == null) {
-				notificationPopUp = new NotificationPopUp(getShell().getDisplay());
-				notificationPopUp.open();
-			}
+			showRestartDialog();
 		}
 
 		return super.performOk();
 	}
 
+	/**
+	 *
+	 */
+	private void showRestartDialog() {
+		if (new MessageDialog(null, WorkbenchMessages.ThemeChangeWarningTitle, null,
+				WorkbenchMessages.ThemeChangeWarningText,
+				MessageDialog.QUESTION, 2, WorkbenchMessages.Workbench_RestartButton,
+				WorkbenchMessages.Workbench_DontRestartButton)
+						.open() == Window.OK) {
+			PlatformUI.getWorkbench().restart();
+		}
+	}
+
 	private IEclipsePreferences getSwtRendererPreferences() {
 		return InstanceScope.INSTANCE.getNode("org.eclipse.e4.ui.workbench.renderers.swt"); //$NON-NLS-1$
 	}
@@ -517,28 +519,4 @@
 
 	}
 
-	private class NotificationPopUp extends AbstractNotificationPopup {
-
-		public NotificationPopUp(Display display) {
-			super(display);
-			setDelayClose(0);
-			setParentShell(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
-		}
-
-		@Override
-		protected String getPopupShellTitle() {
-			return WorkbenchMessages.ThemeChangeWarningTitle;
-		}
-
-
-		@Override
-		protected void createContentArea(Composite parent) {
-			parent.setLayout(new RowLayout());
-
-			Link link = new Link(parent, SWT.WRAP);
-			link.setText(WorkbenchMessages.ThemeChangeWarningHyperlinkedText);
-			link.addSelectionListener(widgetSelectedAdapter(e -> PlatformUI.getWorkbench().restart(true)));
-		}
-	}
-
 }
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
index c3f93d1..aa50d81 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/messages.properties
@@ -494,9 +494,8 @@
 PreferencePage_noDescription = (No description available)
 PreferencePageParameterValues_pageLabelSeparator = \ >\ 
 ThemingEnabled = E&nable theming
-ThemeChangeWarningText = A restart is required for the theme change to take full effect. 
-ThemeChangeWarningHyperlinkedText = A <a>restart</a> is required for the theme change to take full effect. 
-ThemeChangeWarningTitle = Theme change 
+ThemeChangeWarningText = Restart for the theme changes to take full effect?
+ThemeChangeWarningTitle = Theme Changed 
 # --- Workbench -----
 WorkbenchPreference_openMode=Open mode
 WorkbenchPreference_doubleClick=D&ouble click
@@ -1003,6 +1002,7 @@
 Util_List={0}, {1}
 
 # Zoom change messages
-Workbench_zoomChangedTitle=Zoom changed
+Workbench_zoomChangedTitle=Zoom Changed
 Workbench_zoomChangedMessage=Restart for the zoom changes to take full effect?
-Workbench_zoomChangedRestart=&Restart Now
+Workbench_RestartButton=&Restart
+Workbench_DontRestartButton=&Don't restart
diff --git a/bundles/org.eclipse.ui.workbench/META-INF/MANIFEST.MF b/bundles/org.eclipse.ui.workbench/META-INF/MANIFEST.MF
index 00004f9..deeeb80 100644
--- a/bundles/org.eclipse.ui.workbench/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.ui.workbench/META-INF/MANIFEST.MF
@@ -133,7 +133,6 @@
  org.eclipse.e4.ui.workbench.modeling,
  org.eclipse.e4.ui.workbench.renderers.swt,
  org.eclipse.emf.common.util,
- org.eclipse.jface.notifications,
  org.osgi.service.component.annotations;version="1.2.0";resolution:=optional,
  org.osgi.service.event;version="1.2.0",
  org.w3c.dom,
