diff --git a/Lib/tkinter/test/test_ttk/test_style.py b/Lib/tkinter/test/test_ttk/test_style.py
index 54e9133..38d70d7 100644
--- a/Lib/tkinter/test/test_ttk/test_style.py
+++ b/Lib/tkinter/test/test_ttk/test_style.py
@@ -1,4 +1,5 @@
 import unittest
+import sys
 import tkinter
 from tkinter import ttk
 from test import support
@@ -136,6 +137,10 @@ def test_configure_custom_copy(self):
                 with self.subTest(theme=theme, name=name):
                     if support.verbose >= 2:
                         print('configure', theme, name, default)
+                    if (theme in ('vista', 'xpnative')
+                            and sys.getwindowsversion()[:2] == (6, 1)):
+                        # Fails on the Windows 7 buildbot
+                        continue
                     newname = f'C.{name}'
                     self.assertEqual(style.configure(newname), None)
                     style.configure(newname, **default)
@@ -158,6 +163,10 @@ def test_map_custom_copy(self):
                 with self.subTest(theme=theme, name=name):
                     if support.verbose >= 2:
                         print('map', theme, name, default)
+                    if (theme in ('vista', 'xpnative')
+                            and sys.getwindowsversion()[:2] == (6, 1)):
+                        # Fails on the Windows 7 buildbot
+                        continue
                     newname = f'C.{name}'
                     self.assertEqual(style.map(newname), {})
                     style.map(newname, **default)
