- Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime.
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index f119404..6bf6eb3 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -212,8 +212,8 @@
 def synopsis(filename, cache={}):
     """Get the one-line summary out of a module file."""
     mtime = os.stat(filename).st_mtime
-    lastupdate, result = cache.get(filename, (0, None))
-    if lastupdate < mtime:
+    lastupdate, result = cache.get(filename, (None, None))
+    if lastupdate is None or lastupdate < mtime:
         info = inspect.getmoduleinfo(filename)
         try:
             file = open(filename)
diff --git a/Misc/NEWS b/Misc/NEWS
index c587f6e..9a99595 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -37,6 +37,8 @@
 Library
 -------
 
+- Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime.
+
 - Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is
   given as a low fd, it gets overwritten.