diff --git a/app/models/optimized_image.rb b/app/models/optimized_image.rb
index b94fea6ac88..475825cb801 100644
--- a/app/models/optimized_image.rb
+++ b/app/models/optimized_image.rb
@@ -23,11 +23,10 @@ class OptimizedImage < ActiveRecord::Base
       return thumbnail unless thumbnail.nil?
 
       # create the thumbnail otherwise
-      original_path = if Discourse.store.external?
+      original_path = Discourse.store.path_for(upload)
+      if original_path.blank?
         external_copy = Discourse.store.download(upload)
-        external_copy.try(:path)
-      else
-        Discourse.store.path_for(upload)
+        original_path = external_copy.try(:path)
       end
 
       if original_path.blank?
diff --git a/spec/models/optimized_image_spec.rb b/spec/models/optimized_image_spec.rb
index b4c81a19d24..6d27e247b9f 100644
--- a/spec/models/optimized_image_spec.rb
+++ b/spec/models/optimized_image_spec.rb
@@ -126,6 +126,10 @@ end
 
 class FakeExternalStore
 
+  def path_for(upload)
+    nil
+  end
+
   def external?
     true
   end