diff --git a/src/ZODB/persistentclass.py b/src/ZODB/persistentclass.py
index 9d4c6eb5bf9534bbc1a421703cb23c0135841f2e..aacf7b25208ea9a70222492bdbd506ae3465b509 100644
--- a/src/ZODB/persistentclass.py
+++ b/src/ZODB/persistentclass.py
@@ -22,9 +22,9 @@ $Id$
 # Persistent classes are non-ghostable.  This has some interesting
 # ramifications:
 #
-# - When an object is invalidated, it must reload it's state
+# - When an object is invalidated, it must reload its state
 #
-# - When an object is loaded from the database, it's state must be
+# - When an object is loaded from the database, its state must be
 #   loaded.  Unfortunately, there isn't a clear signal when an object is
 #   loaded from the database.  This should probably be fixed.
 #
@@ -65,7 +65,7 @@ class _p_DataDescr(object):
 
 class _p_oid_or_jar_Descr(_p_DataDescr):
     # Special descr for _p_oid and _p_jar that loads
-    # state when set if both are set and and _p_changed is None
+    # state when set if both are set and _p_changed is None
     #
     # See notes above
 
@@ -84,7 +84,7 @@ class _p_oid_or_jar_Descr(_p_DataDescr):
             jar.setstate(inst)
 
 class _p_ChangedDescr(object):
-    # descriptor to handle special weird emantics of _p_changed
+    # descriptor to handle special weird semantics of _p_changed
 
     def __get__(self, inst, cls):
         if inst is None:
diff --git a/src/ZODB/persistentclass.txt b/src/ZODB/persistentclass.txt
index 6d874f3143eff0a1a30ca719f1452674ed5fedb2..d9c7cc6a26a00f87e7d07fc71535f655746f92d7 100644
--- a/src/ZODB/persistentclass.txt
+++ b/src/ZODB/persistentclass.txt
@@ -39,7 +39,7 @@ the methods outside of the class. Why?  Because all of the items in a
 persistent class must be picklable.  We defined the methods as global
 functions to make them picklable.
 
-Also note that we explictly set the module.  Persistent classes don't
+Also note that we explicitly set the module.  Persistent classes don't
 live in normal Python modules. Rather, they live in the database.  We
 use information in ``__module__`` to record where in the database.  When
 we want to use a database, we will need to supply a custom class
@@ -138,7 +138,7 @@ We can open another connection and access the class there.
     >>> c2.bar()
     bar other
 
-If we make changes without commiting them:
+If we make changes without committing them:
 
     >>> C.bar = baz
     >>> c.bar()
@@ -225,7 +225,7 @@ able to access the root object and it must be loaded first.  If the
 instance was in the root object, we'd be unable to create it while
 loading the root object.
 
-Now, if we try to load it, we get a broken oject:
+Now, if we try to load it, we get a broken object:
 
     >>> connection2.sync()
     >>> connection2.root()['obs']['p']
@@ -286,6 +286,6 @@ share the same class:
     True
 
     >>> tm.abort()
-    
+
 
 XXX test abort of import