diff --git a/api/funkwhale_api/common/middleware.py b/api/funkwhale_api/common/middleware.py
index 69d34e2b08d0eb27f932f8eeddfa7e911beebbe1..9e2a59dca25d289953dff7b32de0ddba8a0745ef 100644
--- a/api/funkwhale_api/common/middleware.py
+++ b/api/funkwhale_api/common/middleware.py
@@ -77,7 +77,7 @@ def serve_spa(request):
     return http.HttpResponse(head + tail)
 
 
-MANIFEST_LINK_REGEX = re.compile(r"<link .*rel=(?:'|\")?manifest(?:'|\")?.*>")
+MANIFEST_LINK_REGEX = re.compile(r"<link [^>]*rel=(?:'|\")?manifest(?:'|\")?[^>]*>")
 
 
 def replace_manifest_url(head, new_url):
diff --git a/api/tests/common/test_middleware.py b/api/tests/common/test_middleware.py
index c67982f860acfdb0d401c31dc427ea81ff4f55a7..d3908e3f9f45d3417f634cfd94fb3138807a4df5 100644
--- a/api/tests/common/test_middleware.py
+++ b/api/tests/common/test_middleware.py
@@ -274,7 +274,9 @@ def test_throttle_status_middleware_returns_proper_response(mocker):
 def test_rewrite_manifest_json_url(link, new_url, expected, mocker, settings):
     settings.FUNKWHALE_SPA_REWRITE_MANIFEST = True
     settings.FUNKWHALE_SPA_REWRITE_MANIFEST_URL = new_url
-    spa_html = "<html><head>{}</head></html>".format(link)
+    spa_html = "<html><head><link rel=before>{}<link rel=after></head></html>".format(
+        link
+    )
     request = mocker.Mock(path="/")
     mocker.patch.object(middleware, "get_spa_html", return_value=spa_html)
     mocker.patch.object(
@@ -283,7 +285,9 @@ def test_rewrite_manifest_json_url(link, new_url, expected, mocker, settings):
     response = middleware.serve_spa(request)
 
     assert response.status_code == 200
-    expected_html = "<html><head>{}\n\n</head></html>".format(expected)
+    expected_html = "<html><head><link rel=before>{}<link rel=after>\n\n</head></html>".format(
+        expected
+    )
     assert response.content == expected_html.encode()