diff --git a/src/github.com/turt2live/matrix-media-repo/controllers/preview_controller/previewers/calculated_previewer.go b/src/github.com/turt2live/matrix-media-repo/controllers/preview_controller/previewers/calculated_previewer.go
index 02194661813217c530ce8574bed1976897e5f844..18a62904481722b5d65598f735fb11dcba329b57 100644
--- a/src/github.com/turt2live/matrix-media-repo/controllers/preview_controller/previewers/calculated_previewer.go
+++ b/src/github.com/turt2live/matrix-media-repo/controllers/preview_controller/previewers/calculated_previewer.go
@@ -8,6 +8,7 @@ import (
 	"mime"
 	"net/http"
 	"strconv"
+	"strings"
 	"time"
 
 	"github.com/prometheus/client_golang/prometheus"
@@ -97,6 +98,9 @@ func downloadFileContent(urlStr string, log *logrus.Entry) (*PreviewImage, error
 	}
 
 	contentType := resp.Header.Get("Content-Type")
+	if strings.Contains(contentType, ";") {
+		contentType = strings.Split(contentType, ";")[0]
+	}
 	if len(config.Get().UrlPreviews.FilePreviewTypes) > 0 {
 		for _, allowedType := range config.Get().UrlPreviews.FilePreviewTypes {
 			if !glob.Glob(allowedType, contentType) {