diff --git a/Lib/lib-tk/test/test_tkinter/test_widgets.py b/Lib/lib-tk/test/test_tkinter/test_widgets.py
index e7ad14c..89eaa62 100644
--- a/Lib/lib-tk/test/test_tkinter/test_widgets.py
+++ b/Lib/lib-tk/test/test_tkinter/test_widgets.py
@@ -1,6 +1,7 @@
 import unittest
 import Tkinter
 import os
+import sys
 from test.test_support import requires, run_unittest
 
 from test_ttk.support import (tcl_version, requires_tcl, get_tk_patchlevel,
@@ -259,6 +260,13 @@
 
     test_highlightthickness = StandardOptionsTests.test_highlightthickness.im_func
 
+<<<<<<<
+=======
+    test_highlightthickness = StandardOptionsTests.test_highlightthickness
+
+    @unittest.skipIf(sys.platform == 'darwin',
+                     'crashes with Cocoa Tk (issue19733)')
+>>>>>>>
     def test_image(self):
         widget = self.create()
         image = Tkinter.PhotoImage('image1')
diff --git a/Lib/lib-tk/test/widget_tests.py b/Lib/lib-tk/test/widget_tests.py
index c2c0a84..4c37aa4 100644
--- a/Lib/lib-tk/test/widget_tests.py
+++ b/Lib/lib-tk/test/widget_tests.py
@@ -1,5 +1,7 @@
 # Common tests for test_tkinter/test_widgets.py and test_ttk/test_widgets.py
 
+import unittest
+import sys
 import Tkinter
 from ttk import setup_master, Scale
 from test_ttk.support import (tcl_version, requires_tcl, get_tk_patchlevel,
@@ -308,6 +310,8 @@
         self.checkParam(widget, 'highlightthickness', -2, expected=0,
                         conv=self._conv_pixels)
 
+    @unittest.skipIf(sys.platform == 'darwin',
+                     'crashes with Cocoa Tk (issue19733)')
     def test_image(self):
         widget = self.create()
         self.checkImageParam(widget, 'image')
