diff --git a/src/data/grl-media.c b/src/data/grl-media.c
index a361665..9c1a452 100644
--- a/src/data/grl-media.c
+++ b/src/data/grl-media.c
@@ -1745,6 +1745,24 @@ grl_media_set_album (GrlMedia *media, const gchar *album)
 }
 
 /**
+ * grl_media_set_album_disc:
+ * @media: the media instance
+ * @album_disc: the audio's album disc
+ *
+ * Set the album disc number
+ *
+ * Since: 0.3.1
+ */
+void
+grl_media_set_album_disc (GrlMedia *media, gint disc_number)
+{
+  g_return_if_fail (GRL_IS_MEDIA (media));
+  grl_data_set_int (GRL_DATA (media),
+                    GRL_METADATA_KEY_ALBUM_DISC,
+                    disc_number);
+}
+
+/**
  * grl_media_set_artist:
  * @media: the media instance
  * @artist: the audio's artist
@@ -3120,6 +3138,21 @@ grl_media_get_album (GrlMedia *media)
 }
 
 /**
+ * grl_media_get_album_disc:
+ * @media: the media instance
+ *
+ * Returns: the disc number of the media
+ *
+ * Since: 0.3.1
+ */
+gint
+grl_media_get_album_disc (GrlMedia *media)
+{
+  g_return_val_if_fail (GRL_MEDIA (media), 0);
+  return grl_data_get_int (GRL_DATA (media), GRL_METADATA_KEY_ALBUM_DISC);
+}
+
+/**
  * grl_media_get_artist:
  * @media: the media instance
  *
diff --git a/src/data/grl-media.h b/src/data/grl-media.h
index a0a6455..1e6720e 100644
--- a/src/data/grl-media.h
+++ b/src/data/grl-media.h
@@ -191,6 +191,8 @@ void grl_media_set_genre (GrlMedia *media, const gchar *genre);
 
 void grl_media_set_album (GrlMedia *media, const gchar *album);
 
+void grl_media_set_album_disc (GrlMedia *media, gint album_disc);
+
 void grl_media_set_artist (GrlMedia *media, const gchar *artist);
 
 void grl_media_set_width (GrlMedia *media, gint width);
@@ -360,6 +362,8 @@ const gchar *grl_media_get_genre_nth (GrlMedia *media, guint index);
 
 const gchar *grl_media_get_album (GrlMedia *media);
 
+gint grl_media_get_album_disc (GrlMedia *media);
+
 const gchar *grl_media_get_artist (GrlMedia *media);
 
 const gchar *grl_media_get_artist_nth (GrlMedia *media, guint index);
diff --git a/src/grl-metadata-key.c b/src/grl-metadata-key.c
index b49ef09..6a4eea5 100644
--- a/src/grl-metadata-key.c
+++ b/src/grl-metadata-key.c
@@ -638,6 +638,17 @@ grl_metadata_key_setup_system_keys (GrlRegistry *registry)
                                              GRL_METADATA_KEY_AUDIO_TRACK,
                                              GRL_METADATA_KEY_URL,
                                              NULL);
+
+  grl_registry_register_metadata_key_system (registry,
+                                             g_param_spec_int ("album-disc",
+                                                               "Album disc",
+                                                               "The disc number of the album",
+                                                               -1, G_MAXINT,
+                                                               -1,
+                                                               G_PARAM_STATIC_STRINGS | G_PARAM_READWRITE),
+                                             GRL_METADATA_KEY_ALBUM_DISC,
+                                             GRL_METADATA_KEY_URL,
+                                             NULL);
 }
 
 /**
diff --git a/src/grl-metadata-key.h b/src/grl-metadata-key.h
index 681aa97..bb7e4f0 100644
--- a/src/grl-metadata-key.h
+++ b/src/grl-metadata-key.h
@@ -120,6 +120,7 @@ typedef enum {
 #define GRL_METADATA_KEY_MB_RECORDING_ID      55
 #define GRL_METADATA_KEY_EPISODE_TITLE        56
 #define GRL_METADATA_KEY_AUDIO_TRACK          57
+#define GRL_METADATA_KEY_ALBUM_DISC           58
 
 G_BEGIN_DECLS
 
