Index: class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs
===================================================================
--- class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs	(revision 103444)
+++ class/Managed.Windows.Forms/System.Windows.Forms/ThemeWin32Classic.cs	(working copy)
@@ -5012,21 +5012,27 @@
 		#region ToolTip
 		public override void DrawToolTip(Graphics dc, Rectangle clip_rectangle, ToolTip.ToolTipWindow control)
 		{
+			ToolTipDrawBackground (dc, clip_rectangle, control);
+
 			Rectangle text_rect = Rectangle.Inflate (control.ClientRectangle, -2, -1);
+#if NET_2_0
+			Color foreground = control.ForeColor;
+#else
+			Color foreground = this.ColorInfoText;
+#endif
+			TextFormatFlags flags = TextFormatFlags.HidePrefix | TextFormatFlags.SingleLine | TextFormatFlags.VerticalCenter;
+			TextRenderer.DrawTextInternal (dc, control.Text, control.Font, text_rect, foreground, flags, false);
+		}
 
+		protected virtual void ToolTipDrawBackground (Graphics dc, Rectangle clip_rectangle, ToolTip.ToolTipWindow control)
+		{
 #if NET_2_0
 			Brush back_brush = ResPool.GetSolidBrush (control.BackColor);;
-			Color foreground = control.ForeColor;
 #else
 			Brush back_brush = SystemBrushes.Info;
-			Color foreground = this.ColorInfoText;
 #endif
-
 			dc.FillRectangle (back_brush, control.ClientRectangle);
 			dc.DrawRectangle (SystemPens.WindowFrame, 0, 0, control.Width - 1, control.Height - 1);
-
-			TextFormatFlags flags = TextFormatFlags.HidePrefix | TextFormatFlags.SingleLine | TextFormatFlags.VerticalCenter;
-			TextRenderer.DrawTextInternal (dc, control.Text, control.Font, text_rect, foreground, flags, false);
 		}
 
 		public override Size ToolTipSize(ToolTip.ToolTipWindow tt, string text)
