diff --git a/tests/mb-test.c b/tests/mb-test.c
index e9d62eb..3c439f0 100644
--- a/tests/mb-test.c
+++ b/tests/mb-test.c
@@ -6,6 +6,8 @@
 #include "sj-metadata.h"
 #include "sj-metadata-getter.h"
 
+GMainLoop *loop;
+
 static const char *
 source_to_str (MetadataSource source)
 {
@@ -81,14 +83,12 @@ metadata_cb (SjMetadataGetter *metadata, GList *albums, const GError *error)
     albums = g_list_next (albums);
   }
 
-  g_object_unref (metadata);
-  exit (0);
+  g_main_loop_quit (loop);
 }
 
 int main (int argc, char** argv)
 {
   SjMetadataGetter *metadata;
-  GMainLoop *loop;
   GError *error = NULL;
 
   bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
@@ -128,5 +128,19 @@ int main (int argc, char** argv)
   loop = g_main_loop_new (NULL, FALSE);
   g_main_loop_run (loop);
 
+  char buf[1024];
+  printf ("Press Enter when Cd is reloaded\n");
+  gets(&buf);
+
+  if (sj_metadata_getter_list_albums (metadata, &error) == FALSE) {
+    g_warning ("Couldn't list tracks on album: %s", error->message);
+    g_error_free (error);
+    return 1;
+  }
+
+  g_main_loop_run (loop);
+
+  g_object_unref (metadata);
+
   return 0;
 }
