diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php
index d5dfc14fc0..7feb70ba78 100644
--- a/src/Protocol/ActivityPub/Transmitter.php
+++ b/src/Protocol/ActivityPub/Transmitter.php
@@ -1304,12 +1304,17 @@ class Transmitter
 			$data['content'] = BBCode::convert($body, false, 9);
 		}
 
-		$regexp = "/[@!]\[url\=([^\[\]]*)\].*?\[\/url\]/ism";
-		$richbody = preg_replace_callback($regexp, ['self', 'mentionCallback'], $item['body']);
-		$richbody = BBCode::removeAttachment($richbody);
+		// The regular "content" field does contain a minimized HTML. This is done since systems like
+		// Mastodon has got problems with - for example - embedded pictures.
+		// The contentMap does contain the unmodified HTML.
+		$language = self::getLanguage($item);
+		if (!empty($language)) {
+			$regexp = "/[@!]\[url\=([^\[\]]*)\].*?\[\/url\]/ism";
+			$richbody = preg_replace_callback($regexp, ['self', 'mentionCallback'], $item['body']);
+			$richbody = BBCode::removeAttachment($richbody);
 
-		$data['contentMap']['text/html'] = BBCode::convert($richbody, false);
-		$data['contentMap']['text/markdown'] = BBCode::toMarkdown($item["body"]);
+			$data['contentMap'][$language] = BBCode::convert($richbody, false);
+		}
 
 		$data['source'] = ['content' => $item['body'], 'mediaType' => "text/bbcode"];
 
@@ -1333,6 +1338,35 @@ class Transmitter
 		return $data;
 	}
 
+	/**
+	 * Fetches the language from the post, the user or the system.
+	 *
+	 * @param array $item
+	 *
+	 * @return string language string
+	 */
+	private static function getLanguage($item)
+	{
+		// Try to fetch the language from the post itself
+		if (!empty($item['language'])) {
+			$languages = array_keys(json_decode($item['language'], true));
+			if (!empty($languages[0])) {
+				return $languages[0];
+			}
+		}
+
+		// Otherwise use the user's language
+		if (!empty($item['uid'])) {
+			$user = DBA::selectFirst('user', ['language'], ['uid' => $item['uid']]);
+			if (!empty($user['language'])) {
+				return $user['language'];
+			}
+		}
+
+		// And finally just use the system language
+		return Config::get('system', 'language');
+	}
+
 	/**
 	 * Creates an an "add tag" entry
 	 *