Index: class/Managed.Windows.Forms/System.Windows.Forms/Theme.cs
===================================================================
--- class/Managed.Windows.Forms/System.Windows.Forms/Theme.cs	(revision 103545)
+++ class/Managed.Windows.Forms/System.Windows.Forms/Theme.cs	(working copy)
@@ -934,6 +934,9 @@
 		public abstract int ToolBarDropDownArrowWidth { get; }	 // width for the dropdown arrow on the ToolBarButton
 		public abstract int ToolBarDropDownArrowHeight { get; }	 // height for the dropdown arrow on the ToolBarButton
 		public abstract Size ToolBarDefaultSize{get;}
+
+		public abstract bool ToolBarHasHotElementStyles (ToolBar toolBar);
+		public abstract bool ToolBarHasHotCheckedElementStyles { get; }
 		#endregion	// ToolBar
 
 		#region ToolTip
Index: class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs
===================================================================
--- class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs	(revision 103545)
+++ class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs	(working copy)
@@ -5019,6 +5019,16 @@
 			}
 		}
 
+		public override bool ToolBarHasHotElementStyles (ToolBar toolBar)
+		{
+			return toolBar.Appearance == ToolBarAppearance.Flat;
+		}
+
+		public override bool ToolBarHasHotCheckedElementStyles {
+			get {
+				return false;
+			}
+		}
 		#endregion	// ToolBar
 
 		#region ToolTip
Index: class/Managed.Windows.Forms/System.Windows.Forms/ToolBar.cs
===================================================================
--- class/Managed.Windows.Forms/System.Windows.Forms/ToolBar.cs	(revision 103545)
+++ class/Managed.Windows.Forms/System.Windows.Forms/ToolBar.cs	(working copy)
@@ -876,8 +876,8 @@
 			} 
 
 			if (current_item != null && current_item.Rectangle.Contains (loc)) {
-				if (appearance == ToolBarAppearance.Flat) {
-					if (current_item.Hilight || current_item.Button.Pushed || !current_item.Button.Enabled)
+				if (ThemeEngine.Current.ToolBarHasHotElementStyles (this)) {
+					if (current_item.Hilight || (!ThemeEngine.Current.ToolBarHasHotCheckedElementStyles && current_item.Button.Pushed) || !current_item.Button.Enabled)
 						return;
 					current_item.Hilight = true;
 				}
@@ -894,11 +894,11 @@
 					}
 				}
 
-				if (appearance == ToolBarAppearance.Flat) {
+				if (ThemeEngine.Current.ToolBarHasHotElementStyles (this)) {
 					foreach (ToolBarItem item in items) {
 						if (item.Rectangle.Contains (loc) && item.Button.Enabled) {
 							current_item = item;
-							if (current_item.Hilight || current_item.Button.Pushed)
+							if (current_item.Hilight || (!ThemeEngine.Current.ToolBarHasHotCheckedElementStyles && current_item.Button.Pushed))
 								continue;
 							current_item.Hilight = true;
 						}
