diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index 5d16fa5..5bc9249 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -273,7 +273,7 @@
         # Did the error occur before or after the module was found?
         (exc, value, tb) = info = sys.exc_info()
         if path in sys.modules:
-            # An error occured while executing the imported module.
+            # An error occurred while executing the imported module.
             raise ErrorDuringImport(sys.modules[path].__file__, info)
         elif exc is SyntaxError:
             # A SyntaxError occurred before we could execute the module.
diff --git a/Lib/test/test_dircache.py b/Lib/test/test_dircache.py
index 3f10872..68f6fc2 100644
--- a/Lib/test/test_dircache.py
+++ b/Lib/test/test_dircache.py
@@ -46,7 +46,7 @@
 
         if sys.platform[:3] not in ('win', 'os2'):
             # Sadly, dircache has the same granularity as stat.mtime, and so
-            # can't notice any changes that occured within 1 sec of the last
+            # can't notice any changes that occurred within 1 sec of the last
             # time it examined a directory.
             time.sleep(1)
             self.writeTemp("test1")
diff --git a/Lib/test/test_threadsignals.py b/Lib/test/test_threadsignals.py
index fcae312..51e3d97 100644
--- a/Lib/test/test_threadsignals.py
+++ b/Lib/test/test_threadsignals.py
@@ -21,7 +21,7 @@
     return usr1, usr2, alrm
 
 
-# The signal handler. Just note that the signal occured and
+# The signal handler. Just note that the signal occurred and
 # from who.
 def handle_signals(sig,frame):
     signal_blackboard[sig]['tripped'] += 1
diff --git a/Lib/trace.py b/Lib/trace.py
index f167fcf..799c302 100644
--- a/Lib/trace.py
+++ b/Lib/trace.py
@@ -133,7 +133,7 @@
             # the ignore list
             n = len(mod)
             # (will not overflow since if the first n characters are the
-            # same and the name has not already occured, then the size
+            # same and the name has not already occurred, then the size
             # of "name" is greater than that of "mod")
             if mod == modulename[:n] and modulename[n] == '.':
                 self._ignore[modulename] = 1
