-#ifndef __WXMAC__  // see note in OnThemeChange
-    wxColour winCol = GetBackgroundColour();
-#else
-    wxColour winCol = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW);
-#endif
-    dc.SetBrush(winCol);
-    dc.SetPen(winCol);
-
-    //wxLogDebug(wxT("hei: %i tcy: %i tchei: %i"),GetClientSize().y,m_tcArea.y,m_tcArea.height);
-    //wxLogDebug(wxT("btnx: %i tcx: %i tcwid: %i"),m_btnArea.x,m_tcArea.x,m_tcArea.width);
+    // Clear the main background if the system doesn't do it by itself
+    if ( !HasTransparentBackground() &&
+         (tcRect.x > 0 || tcRect.y > 0) )
+    {
+        wxColour winCol = GetParent()->GetBackgroundColour();
+        dc.SetBrush(winCol);
+        dc.SetPen(winCol);