diff --git a/store/image.go b/store/image.go
index c136916f478e675df930dbe52833909ceec61a8f..95b5c1d181277a39c57f738c4dee123015d72533 100644
--- a/store/image.go
+++ b/store/image.go
@@ -29,6 +29,11 @@ type Image struct {
 	CommentaryTranslation string `json:"commentary_translation"`
 }
 
+// MakePreview compresses an image.Image to preview-size.
+func MakePreview(img image.Image) image.Image {
+	return resize.Thumbnail(256, 256, img, resize.Bilinear)
+}
+
 // Images returns a slice of image hashes.
 func (s *Store) Images() []string {
 	var images []string
@@ -236,7 +241,7 @@ func (s *Store) ImageAdd(data []byte, flake string) Image {
 		log.Warnf("Error decoding upload %s, %s", info.Hash, err)
 		return Image{}
 	} else {
-		img = resize.Thumbnail(256, 256, i, resize.Bilinear)
+		img = MakePreview(i)
 		info.Type = format
 	}