diff --git a/gobject/gtype.c b/gobject/gtype.c
index 66ff177..fe1bfac 100644
--- a/gobject/gtype.c
+++ b/gobject/gtype.c
@@ -4376,9 +4376,50 @@ g_type_init (void)
  * type's class_init() function.
  *
  * The private structure can be retrieved using the
- * G_TYPE_CLASS_GET_PRIVATE() macro.
- 
- * Since: 2.24
+ * G_TYPE_INSTANCE_GET_PRIVATE() macro. The following example
+ * shows attaching a private structure <structname>MyObjectPrivate</structname>
+ * to an object <structname>MyObject</structname> defined in the
+ * standard GObject fashion. Notice that the private is stored
+ * as priv in the object for performance reasons.
+ *
+ * |[
+ * typedef struct _MyObject        MyObject;
+ * typedef struct _MyObjectPrivate MyObjectPrivate;
+ *
+ * struct _MyObject {
+ *  GObject parent;
+ *
+ *  MyObjectPrivate* priv;
+ * };
+ *
+ * struct _MyObjectPrivate {
+ *   int some_field;
+ * };
+ *
+ * static void
+ * my_object_class_init (MyObjectClass *klass)
+ * {
+ *   g_type_class_add_private (klass, sizeof (MyObjectPrivate));
+ * }
+ *
+ * static void
+ * my_object_init (MyObject *my_object)
+ * {
+ *   my_object->priv = G_TYPE_INSTANCE_GET_PRIVATE (my_object,
+ *                                                  MY_TYPE_OBJECT,
+ *                                                  MyObjectPrivate);
+ * }
+ *
+ * static int
+ * my_object_get_some_field (MyObject *my_object)
+ * {
+ *   MyObjectPrivate *priv = my_object->priv;
+ *
+ *   return priv->some_field;
+ * }
+ * ]|
+ *
+ * Since: 2.4
  */
 void
 g_type_class_add_private (gpointer g_class,
