diff --git a/src/lua-factory/sources/grl-lastfm-cover.lua b/src/lua-factory/sources/grl-lastfm-cover.lua
index fe24fde..c26d1da 100644
--- a/src/lua-factory/sources/grl-lastfm-cover.lua
+++ b/src/lua-factory/sources/grl-lastfm-cover.lua
@@ -72,15 +72,22 @@ end
 ---------------
 
 function fetch_page_cb(result, userdata)
+  local url
+
   if not result then
     userdata.callback()
     return
   end
 
   userdata.media.thumbnail = {}
-  for k, v in string.gmatch(result, '<image size="(.-)">(.-)</image>') do
-    grl.debug ('Image size ' .. k .. ' = ' .. v)
-    table.insert(userdata.media.thumbnail, v)
+  image_sizes = { "mega", "extralarge", "large", "medium", "small" }
+  for c, u in pairs(image_sizes) do
+    url = string.match(result, '<image size="' .. u .. '">(.-)</image>')
+    grl.debug ('Image size ' .. u .. ' = ' .. url)
+
+    if (url ~= nil and url ~= '') then
+      table.insert(userdata.media.thumbnail, url)
+    end
   end
 
   userdata.callback(userdata.media, 0)
