Index: plugins/magnatune/magnatune/TrackListHandler.py
===================================================================
--- plugins/magnatune/magnatune/TrackListHandler.py	(revision 4919)
+++ plugins/magnatune/magnatune/TrackListHandler.py	(working copy)
@@ -23,13 +23,14 @@
 
 class TrackListHandler(xml.sax.handler.ContentHandler):
 
-	def __init__(self, db, entry_type, sku_dict, home_dict, buy_dict):
+	def __init__(self, db, entry_type, sku_dict, home_dict, buy_dict, art_dict):
 		xml.sax.handler.ContentHandler.__init__(self)
 		self.__db = db
 		self.__entry_type = entry_type
 		self.__sku_dict = sku_dict
 		self.__home_dict = home_dict
 		self.__buy_dict = buy_dict
+		self.__art_dict = art_dict
 		self.__track = {}
 
 	def startElement(self, name, attrs):
@@ -63,6 +64,7 @@
 				self.__sku_dict[self.__track['url']] = self.__track['albumsku']
 				self.__home_dict[self.__track['url']] = self.__track['home']
 				self.__buy_dict[self.__track['url']] = self.__track['buy'].replace("buy_album", "buy_cd", 1)
+				self.__art_dict[self.__track['url']] = self.__track['cover_small']
 
 				self.__db.commit()
 			except Exception,e: # This happens on duplicate uris being added
Index: plugins/magnatune/magnatune/MagnatuneSource.py
===================================================================
--- plugins/magnatune/magnatune/MagnatuneSource.py	(revision 4919)
+++ plugins/magnatune/magnatune/MagnatuneSource.py	(working copy)
@@ -61,6 +61,7 @@
 		self.__sku_dict = {}
 		self.__home_dict = {}
 		self.__buy_dict = {}
+		self.__art_dict = {}
 
 		# catalogue stuff
 		self.__activated = False
@@ -309,7 +310,7 @@
 				return
 
 		parser = xml.sax.make_parser()
-		parser.setContentHandler(TrackListHandler(self.__db, self.__entry_type, self.__sku_dict, self.__home_dict, self.__buy_dict))
+		parser.setContentHandler(TrackListHandler(self.__db, self.__entry_type, self.__sku_dict, self.__home_dict, self.__buy_dict, self.__art_dict))
 		handle.read (64 * 1024, self.__load_catalogue_read_cb, parser)
 
 	def __load_catalogue(self):
@@ -572,13 +569,11 @@
 
 		if entry.get_entry_type() != self.__db.entry_type_get_by_name("MagnatuneEntryType"):
 			return
+		
+		url = str(self.__art_dict[self.__db.entry_get(entry, rhythmdb.PROP_LOCATION)])
+		
+		self.__db.emit_entry_extra_metadata_notify (entry, 'rb:coverArt-uri', url)
 
-		album = urllib.quote(self.__db.entry_get(entry, rhythmdb.PROP_ALBUM))
-		artist = urllib.quote(self.__db.entry_get(entry, rhythmdb.PROP_ARTIST))
-
-		self.__db.emit_entry_extra_metadata_notify (entry, 'rb:coverArt-uri', ALBUM_ART_URL % (artist,album))
-
-
 gobject.type_register(MagnatuneSource)
 
 
