diff --git a/gobject/gtype.c b/gobject/gtype.c
index c6dff7f..4570641 100644
--- a/gobject/gtype.c
+++ b/gobject/gtype.c
@@ -4107,6 +4107,8 @@ g_type_init (void)
  * <structname>MyObjectPrivate</structname> to an object
  * <structname>MyObject</structname> defined in the standard GObject
  * fashion.
+ * Note the use of a structure member "priv" to avoid the overhead
+ * of repeatedly calling MY_OBJECT_GET_PRIVATE().
  *
  * |[
  * typedef struct _MyObjectPrivate MyObjectPrivate;
@@ -4124,10 +4126,20 @@ g_type_init (void)
  *   g_type_class_add_private (klass, sizeof (MyObjectPrivate));
  * }
  *
- * static int
+ * static void
+ * my_object_init (MyObject* object)
+ * {
+ *   object->priv = MY_OBJECT_GET_PRIVATE (object);
+ * }
+ *
+ * int
  * my_object_get_some_field (MyObject *my_object)
  * {
- *   MyObjectPrivate *priv = MY_OBJECT_GET_PRIVATE (my_object);
+ *   MyObjectPrivate *priv;
+ *
+ *   g_return_val_if_fail (MY_IS_OBJECT (my_object), 0);
+ *
+ *   priv = my_object->priv;
  *
  *   return priv->some_field;
  * }
