diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index aca934a..bf6129e 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -55,6 +55,15 @@
 except ImportError:
     grp = pwd = None
 
+# os.symlink on Windows prior to 6.0 raises NotImplementedError
+symlink_exception = (AttributeError, NotImplementedError)
+try:
+    # WindowsError (1314) will be raised if the caller does not hold the
+    # SeCreateSymbolicLinkPrivilege privilege
+    symlink_exception += (WindowsError,)
+except NameError:
+    pass
+
 # from tarfile import *
 __all__ = ["TarFile", "TarInfo", "is_tarfile", "TarError"]
 
@@ -2283,17 +2292,16 @@
                     os.link(tarinfo._link_target, targetpath)
                 else:
                     self._extract_mem
-        except (AttributeError, NotImplementedError, WindowsError):
-            # AttributeError if no os.symlink
-            # NotImplementedError if on Windows XP
-            # WindowsError (1314) if the required privilege is not held by the client
+        except symlink_exception:
             if tarinfo.issym():
-                linkpath = os.path.join(os.path.dirname(tarinfo.name),tarinfo.linkname)
+                linkpath = os.path.join(os.path.dirname(tarinfo.name),
+                                        tarinfo.linkname)
             else:
                 linkpath = tarinfo.linkname
         else:
             try:
-                self._extract_member(self._find_link_target(tarinfo), targetpath)
+                self._extract_member(self._find_link_target(tarinfo),
+                                     targetpath)
             except KeyError:
                 raise ExtractError("unable to resolve link inside archive")
 
diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py
index 34b9689..fd71ac9 100644
--- a/Lib/test/test_posixpath.py
+++ b/Lib/test/test_posixpath.py
@@ -208,6 +208,7 @@
     def test_samestat_on_links(self):
         test_fn1 = support.TESTFN + "1"
         test_fn2 = support.TESTFN + "2"
+        self._create_file(test_fn1)
         test_fns = (test_fn1, test_fn2)
         os.symlink(*test_fns)
         stats = map(os.stat, test_fns)
