-        y = 20
-        for style in [wxDOT, wxLONG_DASH, wxSHORT_DASH, wxDOT_DASH, wxUSER_DASH]:
-            pen = wxPen("DARK ORCHID", 1, style)
-            if style == wxUSER_DASH:
-                pen.SetCap(wxCAP_BUTT)
-                pen.SetDashes([1,2])
-                pen.SetColour("RED")
-            dc.SetPen(pen)
-            dc.DrawLine(300, y, 400, y)
-            y = y + 10
+        if not printing:
+            # This has troubles when used on a print preview in wxGTK,
+            # probably something to do with the pen styles and the scaling
+            # it does...
+            y = 20
+            for style in [wxDOT, wxLONG_DASH, wxSHORT_DASH, wxDOT_DASH, wxUSER_DASH]:
+                pen = wxPen("DARK ORCHID", 1, style)
+                if style == wxUSER_DASH:
+                    pen.SetCap(wxCAP_BUTT)
+                    pen.SetDashes([1,2])
+                    pen.SetColour("RED")
+                dc.SetPen(pen)
+                dc.DrawLine(300, y, 400, y)
+                y = y + 10