img = Image.new('RGB', (metr.width, metr.height), self.background_color)
 
         if self.background_img:
-            IMG_EXT = ('png', 'jpg', 'jpeg')
-            if '.' not in self.background_img or self.background_img.rsplit('.')[1].lower() not in IMG_EXT:
-                raise BuildError('Wrong cover format, should be PNG or JPG')
             background = Image.open(self.background_img)
             resized = background.resize((1024, background.height*1024/background.width), Image.ANTIALIAS)
             resized = resized.convert('RGBA')
 
             raise BuildError('No cover specified (metadata field relation.coverimage.url empty)')
         if cover_url.startswith('file://'):
             cover_url = ctx.files_path + urllib.quote(cover_url[7:])
+        IMG_EXT = ('png', 'jpg', 'jpeg')
+        if '.' not in self.background_img or self.background_img.rsplit('.')[1].lower() not in IMG_EXT:
+            raise BuildError('Wrong cover format, should be PNG or JPG')
         try:
             self.background_img = urlopen(cover_url)
         except URLError: