diff --git a/src/timeline/TimelineModel.cpp b/src/timeline/TimelineModel.cpp
index ddec72877f3f3b764e7c1d4fe09b43e81673467b..6134262e0022a4a77d1ccba33a8f1375dbbd9fdf 100644
--- a/src/timeline/TimelineModel.cpp
+++ b/src/timeline/TimelineModel.cpp
@@ -1246,7 +1246,11 @@ TimelineModel::cacheMedia(QString eventId, std::function<void(const QString)> ca
         QDir().mkpath(filename.path());
 
         if (filename.isReadable()) {
+#if defined(Q_OS_WIN)
                 emit mediaCached(mxcUrl, filename.filePath());
+#else
+                emit mediaCached(mxcUrl, "file://" + filename.filePath());
+#endif
                 if (callback) {
                         callback(filename.filePath());
                 }
@@ -1288,7 +1292,11 @@ TimelineModel::cacheMedia(QString eventId, std::function<void(const QString)> ca
                           nhlog::ui()->warn("Error while saving file to: {}", e.what());
                   }
 
+#if defined(Q_OS_WIN)
                   emit mediaCached(mxcUrl, filename.filePath());
+#else
+                  emit mediaCached(mxcUrl, "file://" + filename.filePath());
+#endif
           });
 }