diff --git a/src/Model/Item.php b/src/Model/Item.php
index 6ce65dcf61..62b8b78772 100644
--- a/src/Model/Item.php
+++ b/src/Model/Item.php
@@ -4155,6 +4155,10 @@ class Item
 
 		try {
 			$curlResult = DI::httpClient()->head($uri, [HttpClientOptions::ACCEPT_CONTENT => HttpClientAccept::JSON_AS, HttpClientOptions::REQUEST => HttpClientRequest::ACTIVITYPUB]);
+			if (!HTTPSignature::isValidContentType($curlResult->getContentType(), $uri) && (current(explode(';', $curlResult->getContentType())) == 'application/json')) {
+				// Issue 14126: Workaround for Mastodon servers that return "application/json" on a "head" request.
+				$curlResult = HTTPSignature::fetchRaw($uri, $uid);
+			}
 			if (HTTPSignature::isValidContentType($curlResult->getContentType(), $uri)) {
 				$fetched_uri = ActivityPub\Processor::fetchMissingActivity($uri, [], '', $completion, $uid);
 			}