diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
index 083dbda..9e5f6ff 100644
--- a/Lib/test/test_shutil.py
+++ b/Lib/test/test_shutil.py
@@ -31,17 +31,25 @@
         def test_dont_copy_file_onto_link_to_itself(self):
             # bug 851123.
             os.mkdir(TESTFN)
-            src = os.path.join(TESTFN,'cheese')
-            dst = os.path.join(TESTFN,'shop')
+            src = os.path.join(TESTFN, 'cheese')
+            dst = os.path.join(TESTFN, 'shop')
             try:
-                f = open(src,'w')
+                f = open(src, 'w')
                 f.write('cheddar')
                 f.close()
-                for funcname in 'link','symlink':
-                    getattr(os, funcname)(src, dst)
-                    self.assertRaises(shutil.Error, shutil.copyfile, src, dst)
-                    self.assertEqual(open(src,'r').read(), 'cheddar')
-                    os.remove(dst)
+
+                os.link(src, dst)
+                self.assertRaises(shutil.Error, shutil.copyfile, src, dst)
+                self.assertEqual(open(src,'r').read(), 'cheddar')
+                os.remove(dst)
+
+                # Using `src` here would mean we end up with a symlink pointing
+                # to TESTFN/TESTFN/cheese, while it should point at
+                # TESTFN/cheese.
+                os.symlink('cheese', dst)
+                self.assertRaises(shutil.Error, shutil.copyfile, src, dst)
+                self.assertEqual(open(src,'r').read(), 'cheddar')
+                os.remove(dst)
             finally:
                 try:
                     shutil.rmtree(TESTFN)
