diff --git a/Lib/lib-tk/test/test_ttk/test_widgets.py b/Lib/lib-tk/test/test_ttk/test_widgets.py
index 64eaf61..15c2d54 100644
--- a/Lib/lib-tk/test/test_ttk/test_widgets.py
+++ b/Lib/lib-tk/test/test_ttk/test_widgets.py
@@ -6,7 +6,7 @@
 
 import support
 from test_functions import MockTclObj, MockStateSpec
-from support import tcl_version
+from support import tcl_version, get_tk_patchlevel
 from widget_tests import (add_standard_options, noconv, noconv_meth,
     AbstractWidgetTest, StandardOptionsTests,
     IntegerSizeTests, PixelSizeTests,
@@ -21,7 +21,7 @@
         widget = self.create()
         self.assertEqual(widget['class'], '')
         errmsg='attempt to change read-only option'
-        if tcl_version < (8, 6, 0): # actually this was changen in 8.6b3
+        if get_tk_patchlevel() < (8, 6, 0): # actually this was changen in 8.6b3
             errmsg='Attempt to change read-only option'
         self.checkInvalidParam(widget, 'class', 'Foo', errmsg=errmsg)
         widget2 = self.create(class_='Foo')
@@ -577,7 +577,7 @@
         widget = self.create()
         self.assertEqual(str(widget['orient']), 'vertical')
         errmsg='attempt to change read-only option'
-        if tcl_version < (8, 6):
+        if get_tk_patchlevel() < (8, 6, 0): # actually this was changen in 8.6b3
             errmsg='Attempt to change read-only option'
         self.checkInvalidParam(widget, 'orient', 'horizontal',
                 errmsg=errmsg)
