diff --git a/doc/src/sgml/plpython.sgml b/doc/src/sgml/plpython.sgml
index c15188c3e00f76dde67e34ae23d0523881b66b2e..b8bf5e925cb1c4053308590019ae89b656c1f89d 100644
--- a/doc/src/sgml/plpython.sgml
+++ b/doc/src/sgml/plpython.sgml
@@ -1023,7 +1023,11 @@ rv = plpy.execute(plan, ["name"], 5)
       <xref linkend="plpython-sharing">). For example:
 <programlisting>
 CREATE FUNCTION usesavedplan() RETURNS trigger AS $$
-    plan = SD.setdefault("plan", plpy.prepare("SELECT 1"))
+    if "plan" in SD:
+        plan = SD["plan"]
+    else:
+        plan = plpy.prepare("SELECT 1")
+        SD["plan"] = plan
     # rest of function
 $$ LANGUAGE plpythonu;
 </programlisting>