diff --git a/docs/reference/gcr/gcr-sections.txt b/docs/reference/gcr/gcr-sections.txt
index de8b840..514e4b9 100644
--- a/docs/reference/gcr/gcr-sections.txt
+++ b/docs/reference/gcr/gcr-sections.txt
@@ -346,6 +346,25 @@ GcrFilterCollectionPrivate
 </SECTION>
 
 <SECTION>
+<FILE>gcr-gnupg-collection</FILE>
+GcrGnupgCollection
+GcrGnupgCollectionClass
+gcr_gnupg_collection_new
+gcr_gnupg_collection_load_async
+gcr_gnupg_collection_load_finish
+<SUBSECTION Standard>
+gcr_gnupg_collection_get_type
+GCR_GNUPG_COLLECTION
+GCR_GNUPG_COLLECTION_CLASS
+GCR_GNUPG_COLLECTION_GET_CLASS
+GCR_IS_GNUPG_COLLECTION
+GCR_IS_GNUPG_COLLECTION_CLASS
+GCR_TYPE_GNUPG_COLLECTION
+<SUBSECTION Private>
+GcrGnupgCollectionPrivate
+</SECTION>
+
+<SECTION>
 <FILE>gcr-union-collection</FILE>
 GcrUnionCollection
 GcrUnionCollectionClass
@@ -856,4 +875,4 @@ gcr_mock_prompter_is_prompting
 
 <SECTION>
 <FILE>GcrDBusPrompterCallback</FILE>
-</SECTION>
\ No newline at end of file
+</SECTION>
diff --git a/gcr/gcr-gnupg-collection.c b/gcr/gcr-gnupg-collection.c
index fe730a2..6c4989a 100644
--- a/gcr/gcr-gnupg-collection.c
+++ b/gcr/gcr-gnupg-collection.c
@@ -52,13 +52,13 @@ struct _GcrGnupgCollectionPrivate {
 /* Forward declarations */
 static void _gcr_collection_iface (GcrCollectionIface *iface);
 
-G_DEFINE_TYPE_WITH_CODE (GcrGnupgCollection, _gcr_gnupg_collection, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (GcrGnupgCollection, gcr_gnupg_collection, G_TYPE_OBJECT,
 	G_IMPLEMENT_INTERFACE (GCR_TYPE_COLLECTION, _gcr_collection_iface)
 );
 
 
 static void
-_gcr_gnupg_collection_init (GcrGnupgCollection *self)
+gcr_gnupg_collection_init (GcrGnupgCollection *self)
 {
 	self->pv = G_TYPE_INSTANCE_GET_PRIVATE (self, GCR_TYPE_GNUPG_COLLECTION,
 	                                        GcrGnupgCollectionPrivate);
@@ -111,7 +111,7 @@ _gcr_gnupg_collection_dispose (GObject *obj)
 
 	g_hash_table_remove_all (self->pv->items);
 
-	G_OBJECT_CLASS (_gcr_gnupg_collection_parent_class)->dispose (obj);
+	G_OBJECT_CLASS (gcr_gnupg_collection_parent_class)->dispose (obj);
 }
 
 static void
@@ -127,11 +127,11 @@ _gcr_gnupg_collection_finalize (GObject *obj)
 	g_free (self->pv->directory);
 	self->pv->directory = NULL;
 
-	G_OBJECT_CLASS (_gcr_gnupg_collection_parent_class)->finalize (obj);
+	G_OBJECT_CLASS (gcr_gnupg_collection_parent_class)->finalize (obj);
 }
 
 static void
-_gcr_gnupg_collection_class_init (GcrGnupgCollectionClass *klass)
+gcr_gnupg_collection_class_init (GcrGnupgCollectionClass *klass)
 {
 	GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
@@ -193,7 +193,7 @@ _gcr_collection_iface (GcrCollectionIface *iface)
 }
 
 /**
- * _gcr_gnupg_collection_new:
+ * gcr_gnupg_collection_new:
  * @directory: (allow-none): The gnupg home directory.
  *
  * Create a new GcrGnupgCollection.
@@ -204,7 +204,7 @@ _gcr_collection_iface (GcrCollectionIface *iface)
  * Returns: (transfer full) (type Gcr.GnupgCollection): A newly allocated collection.
  */
 GcrCollection*
-_gcr_gnupg_collection_new (const gchar *directory)
+gcr_gnupg_collection_new (const gchar *directory)
 {
 	return g_object_new (GCR_TYPE_GNUPG_COLLECTION,
 	                     "directory", directory,
@@ -670,7 +670,7 @@ spawn_gnupg_list_process (GcrGnupgCollectionLoad *load, GSimpleAsyncResult *res)
 }
 
 /**
- * _gcr_gnupg_collection_load_async:
+ * gcr_gnupg_collection_load_async:
  * @self: The collection
  * @cancellable: Cancellation object or %NULL
  * @callback: Callback to call when result is ready
@@ -680,8 +680,8 @@ spawn_gnupg_list_process (GcrGnupgCollectionLoad *load, GSimpleAsyncResult *res)
  * collection.
  */
 void
-_gcr_gnupg_collection_load_async (GcrGnupgCollection *self, GCancellable *cancellable,
-                                  GAsyncReadyCallback callback, gpointer user_data)
+gcr_gnupg_collection_load_async (GcrGnupgCollection *self, GCancellable *cancellable,
+                                 GAsyncReadyCallback callback, gpointer user_data)
 {
 	GSimpleAsyncResult *res;
 	GcrGnupgCollectionLoad *load;
@@ -693,7 +693,7 @@ _gcr_gnupg_collection_load_async (GcrGnupgCollection *self, GCancellable *cancel
 	/* TODO: Cancellation not yet implemented */
 
 	res = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
-	                                 _gcr_gnupg_collection_load_async);
+	                                 gcr_gnupg_collection_load_async);
 
 	load = g_slice_new0 (GcrGnupgCollectionLoad);
 	load->records = g_ptr_array_new_with_free_func (_gcr_record_free);
@@ -729,7 +729,7 @@ _gcr_gnupg_collection_load_async (GcrGnupgCollection *self, GCancellable *cancel
 }
 
 /**
- * _gcr_gnupg_collection_load_finish:
+ * gcr_gnupg_collection_load_finish:
  * @self: The collection
  * @result: The result passed to the callback
  * @error: Location to raise an error on failure.
@@ -738,14 +738,14 @@ _gcr_gnupg_collection_load_async (GcrGnupgCollection *self, GCancellable *cancel
  * in this collection.
  */
 gboolean
-_gcr_gnupg_collection_load_finish (GcrGnupgCollection *self, GAsyncResult *result,
+gcr_gnupg_collection_load_finish (GcrGnupgCollection *self, GAsyncResult *result,
                                    GError **error)
 {
 	g_return_val_if_fail (GCR_IS_GNUPG_COLLECTION (self), FALSE);
 	g_return_val_if_fail (!error || !*error, FALSE);
 
 	g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (self),
-	                      _gcr_gnupg_collection_load_async), FALSE);
+	                      gcr_gnupg_collection_load_async), FALSE);
 
 	if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
 		return FALSE;
diff --git a/gcr/gcr-gnupg-collection.h b/gcr/gcr-gnupg-collection.h
index a2b631e..81ea536 100644
--- a/gcr/gcr-gnupg-collection.h
+++ b/gcr/gcr-gnupg-collection.h
@@ -30,7 +30,7 @@
 
 G_BEGIN_DECLS
 
-#define GCR_TYPE_GNUPG_COLLECTION               (_gcr_gnupg_collection_get_type ())
+#define GCR_TYPE_GNUPG_COLLECTION               (gcr_gnupg_collection_get_type ())
 #define GCR_GNUPG_COLLECTION(obj)               (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCR_TYPE_GNUPG_COLLECTION, GcrGnupgCollection))
 #define GCR_GNUPG_COLLECTION_CLASS(klass)       (G_TYPE_CHECK_CLASS_CAST ((klass), GCR_TYPE_GNUPG_COLLECTION, GcrGnupgCollectionClass))
 #define GCR_IS_GNUPG_COLLECTION(obj)            (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCR_TYPE_GNUPG_COLLECTION))
@@ -51,16 +51,16 @@ struct _GcrGnupgCollectionClass {
 	GObjectClass parent_class;
 };
 
-GType               _gcr_gnupg_collection_get_type                (void);
+GType               gcr_gnupg_collection_get_type                 (void);
 
-GcrCollection*      _gcr_gnupg_collection_new                     (const gchar *directory);
+GcrCollection*      gcr_gnupg_collection_new                      (const gchar *directory);
 
-void                _gcr_gnupg_collection_load_async              (GcrGnupgCollection *self,
+void                gcr_gnupg_collection_load_async               (GcrGnupgCollection *self,
                                                                    GCancellable *cancellable,
                                                                    GAsyncReadyCallback callback,
                                                                    gpointer user_data);
 
-gboolean            _gcr_gnupg_collection_load_finish             (GcrGnupgCollection *self,
+gboolean            gcr_gnupg_collection_load_finish              (GcrGnupgCollection *self,
                                                                    GAsyncResult *result,
                                                                    GError **error);
 
diff --git a/gcr/tests/frob-gnupg-selector.c b/gcr/tests/frob-gnupg-selector.c
index 444483e..771ed2d 100644
--- a/gcr/tests/frob-gnupg-selector.c
+++ b/gcr/tests/frob-gnupg-selector.c
@@ -40,7 +40,7 @@ on_collection_loaded (GObject *source, GAsyncResult *result, gpointer unused)
 {
 	GError *error = NULL;
 
-	_gcr_gnupg_collection_load_finish (GCR_GNUPG_COLLECTION (source), result, &error);
+	gcr_gnupg_collection_load_finish (GCR_GNUPG_COLLECTION (source), result, &error);
 	if (error) {
 		g_warning ("collection load failed: %s", error->message);
 		g_clear_error (&error);
@@ -62,7 +62,7 @@ main (int argc, char *argv[])
 	dialog = GTK_DIALOG (gtk_dialog_new ());
 	g_object_ref_sink (dialog);
 
-	collection = _gcr_gnupg_collection_new (NULL);
+	collection = gcr_gnupg_collection_new (NULL);
 	selector = gcr_list_selector_new (collection);
 	search = _gcr_live_search_new (GTK_WIDGET (selector));
 	_gcr_list_selector_set_live_search (selector, GCR_LIVE_SEARCH (search));
@@ -79,8 +79,8 @@ main (int argc, char *argv[])
 	gtk_widget_show (GTK_WIDGET (selector));
 	gtk_widget_show (scroll);
 
-	_gcr_gnupg_collection_load_async (GCR_GNUPG_COLLECTION (collection), NULL,
-	                                  on_collection_loaded, NULL);
+	gcr_gnupg_collection_load_async (GCR_GNUPG_COLLECTION (collection), NULL,
+	                                 on_collection_loaded, NULL);
 
 	gtk_window_set_default_size (GTK_WINDOW (dialog), 550, 400);
 	gtk_container_set_border_width (GTK_CONTAINER (dialog), 20);
diff --git a/gcr/tests/test-gnupg-collection.c b/gcr/tests/test-gnupg-collection.c
index 4f6d854..66e4ae5 100644
--- a/gcr/tests/test-gnupg-collection.c
+++ b/gcr/tests/test-gnupg-collection.c
@@ -85,7 +85,7 @@ setup (Test *test, gconstpointer unused)
 
 	test->directory = g_build_filename (SRCDIR, "files", "gnupg-homedir", NULL);
 
-	collection = _gcr_gnupg_collection_new (test->directory);
+	collection = gcr_gnupg_collection_new (test->directory);
 	test->collection = GCR_GNUPG_COLLECTION (collection);
 
 	test->keys = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
@@ -133,11 +133,11 @@ test_load (Test *test, gconstpointer unused)
 	GcrRecord *record;
 	GHashTable *check;
 
-	_gcr_gnupg_collection_load_async (test->collection, NULL, on_async_ready, test);
+	gcr_gnupg_collection_load_async (test->collection, NULL, on_async_ready, test);
 	egg_test_wait_until (500000);
 
 	g_assert (test->result);
-	_gcr_gnupg_collection_load_finish (test->collection, test->result, &error);
+	gcr_gnupg_collection_load_finish (test->collection, test->result, &error);
 	g_assert_no_error (error);
 
 	/* Werner Koch (a public key) */
@@ -181,19 +181,19 @@ test_reload (Test *test, gconstpointer unused)
 	GError *error = NULL;
 	GcrGnupgKey *key;
 
-	_gcr_gnupg_collection_load_async (test->collection, NULL, on_async_ready, test);
+	gcr_gnupg_collection_load_async (test->collection, NULL, on_async_ready, test);
 	egg_test_wait_until (500);
 	g_assert (test->result);
-	_gcr_gnupg_collection_load_finish (test->collection, test->result, &error);
+	gcr_gnupg_collection_load_finish (test->collection, test->result, &error);
 	g_assert_no_error (error);
 
 	g_object_unref (test->result);
 	test->result = NULL;
 
-	_gcr_gnupg_collection_load_async (test->collection, NULL, on_async_ready, test);
+	gcr_gnupg_collection_load_async (test->collection, NULL, on_async_ready, test);
 	egg_test_wait_until (500000);
 	g_assert (test->result);
-	_gcr_gnupg_collection_load_finish (test->collection, test->result, &error);
+	gcr_gnupg_collection_load_finish (test->collection, test->result, &error);
 	g_assert_no_error (error);
 
 	/* Werner Koch (a public key) */
