diff --git a/app/workers/thumbnail_generator_worker.rb b/app/workers/thumbnail_generator_worker.rb
index d84aedf5016787fdf9264efd84a4fb4a7813926c..75b809f3f6141524b8a98ee833ccf87476ebb84a 100644
--- a/app/workers/thumbnail_generator_worker.rb
+++ b/app/workers/thumbnail_generator_worker.rb
@@ -3,22 +3,27 @@ class ThumbnailGeneratorWorker
   include Sidekiq::Worker
   include RepositoriesProxy
   include Thumbnail::Creation
+  include Thumbnail::Formats
 
   def perform(learning_object_id)
 
     item = learning_object_repository.find(learning_object_id)
     filename = item.get_bitstream_filename_of "ORIGINAL"
 
-    size = "360x360"
+    size = "530x298"
 
-    begin
-      retrieve_link = item.get_bitstream_retrievelink_of "ORIGINAL"
-      file = download_bitstream(retrieve_link,filename)
-    rescue
-      puts "ERROR!!! Some error occurred during file download."
+    unless accepted_formats.include? file_format filename
+      item.thumbnail = default_thumbnail
     else
-      item.thumbnail = generate_thumbnail(file,filename,size)
-      delete_downloaded_bitstream(file)
+      begin
+        retrieve_link = item.get_bitstream_retrievelink_of "ORIGINAL"
+        file = download_bitstream(retrieve_link,filename)
+      rescue
+        puts "ERROR!!! Some error occurred during file download."
+      else
+        item.thumbnail = generate_thumbnail(file,filename,size)
+        delete_downloaded_bitstream(file)
+      end
     end
 
     learning_object_repository.update_property(item,"thumbnail",item.thumbnail)
diff --git a/lib/tasks/thumbnail.rake b/lib/tasks/thumbnail.rake
index 5ae12d9c2825a4fa744f889110a96dc862d32fea..275a50262ce95c6a25c12c7400116bae16724596 100644
--- a/lib/tasks/thumbnail.rake
+++ b/lib/tasks/thumbnail.rake
@@ -6,7 +6,7 @@ namespace :thumbnail do
     include RepositoriesProxy
 
     # Quantity of items fetched on each iteration
-    limit = 1000
+    limit = 500
 
     # Start point from where items will be fetched
     offset = 0
diff --git a/lib/thumbnail/creation.rb b/lib/thumbnail/creation.rb
index 039ae4547e97b7dc08f42f0dd5f3899fd0807d79..0531f65155074be2661e8ce889e30e7fd48f33f3 100644
--- a/lib/thumbnail/creation.rb
+++ b/lib/thumbnail/creation.rb
@@ -4,7 +4,7 @@ module Thumbnail
     include Formats
 
     def generate_thumbnail(input, filename, size)
-      unless accepted_formats.include? File.extname(filename)
+      unless accepted_formats.include? file_format(filename)
         return default_thumbnail
       else
         thumbnail = thumbnail_path(filename, size)
@@ -24,6 +24,10 @@ module Thumbnail
 
     end
 
+    def default_thumbnail
+      @default_thumbnail ||= nil
+    end
+
     private
 
     def generate_video_thumbnail(input,output,size)
@@ -52,10 +56,6 @@ module Thumbnail
       thumbnail_path = "#{thumbnails_dir}/#{thumbnail_name}_#{size}.jpg"
     end
 
-    def default_thumbnail
-      @default_thumbnail ||= "#{thumbnails_dir}/default_thumbnail.jpg"
-    end
-
     def thumbnails_dir
       @thumbnails_dir ||= "/thumbnails"
     end
diff --git a/lib/thumbnail/formats.rb b/lib/thumbnail/formats.rb
index c34ef649707ef84ebb390693f83e0dd7f378ffc4..4df246e9bc30576c0886551952073f63750650cc 100644
--- a/lib/thumbnail/formats.rb
+++ b/lib/thumbnail/formats.rb
@@ -1,6 +1,15 @@
 module Thumbnail
   module Formats
 
+    def file_format file
+      unless file.nil?
+        file_format = File.extname(file)
+      else
+        file_format = ""
+      end
+      file_format
+    end
+
     def accepted_video_formats
       lower = [".mp4", ".wmv", ".3gp", ".asf", ".avi", ".flv", ".mov", ".mpg", ".mpeg", ".rmvb", ".vob", ".webm"]
       upper = [".MP4", ".WMV", ".3GP", ".ASF", ".AVI", ".FLV", ".MOV", ".MPG", ".MPEG", ".RMVB", ".VOB", ".WEBM"]