diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 658f214..1785144 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -1141,9 +1141,13 @@
             # Find out which *open() is appropriate for opening the file.
             for comptype in cls.OPEN_METH:
                 func = getattr(cls, cls.OPEN_METH[comptype])
+                if fileobj is not None:
+                    saved_pos = fileobj.tell()
                 try:
                     return func(name, "r", fileobj)
                 except (ReadError, CompressionError):
+                    if fileobj is not None:
+                        fileobj.seek(saved_pos)
                     continue
             raise ReadError("file could not be opened successfully")
 
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
index a76ceb1..1674594 100644
--- a/Lib/test/test_tarfile.py
+++ b/Lib/test/test_tarfile.py
@@ -648,6 +648,16 @@
         b = "a" + buf[1:] # manipulate the buffer, so checksum won't match.
         self.assertRaises(tarfile.HeaderError, tarfile.TarInfo.frombuf, b)
 
+class OpenFileobjTest(BaseTest):
+    # Test for SF bug #1496501.
+
+    def test_opener(self):
+        fobj = StringIO.StringIO("foo\n")
+        try:
+            tarfile.open("", "r", fileobj=fobj)
+        except tarfile.ReadError:
+            self.assertEqual(fobj.tell(), 0, "fileobj's position has moved")
+
 if bz2:
     # Bzip2 TestCases
     class ReadTestBzip2(ReadTestGzip):
@@ -693,6 +703,7 @@
     tests = [
         FileModeTest,
         HeaderErrorTest,
+        OpenFileobjTest,
         ReadTest,
         ReadStreamTest,
         ReadDetectTest,
diff --git a/Misc/NEWS b/Misc/NEWS
index 363320b..ba882ef 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -103,6 +103,8 @@
 Library
 -------
 
+- Patch #1504073: Fix tarfile.open() for mode "r" with a fileobj argument.
+
 - Patch #1182394 from Shane Holloway: speed up HMAC.hexdigest.
 
 - Patch #1262036: Prevent TarFiles from being added to themselves under
