diff --git a/api/src/Html/HtmLawed.php b/api/src/Html/HtmLawed.php
index 0353a4e9f4..48e99b8667 100644
--- a/api/src/Html/HtmLawed.php
+++ b/api/src/Html/HtmLawed.php
@@ -389,7 +389,9 @@ function hl_email_tag_transform($element, $attribute_array=0)
// $GLOBALS['egw_info']['user']['preferences']['mail']['allowExternalIMGs'] ? '' : 'match' => '/^cid:.*/'),
if (isset($attribute_array['src']))
{
- if (!(strlen($attribute_array['src'])>4 && strlen($attribute_array['src'])<800))
+ // explicitly exclude data-uris of images from the length limit of 800 chars
+ if (!preg_match('#^data:image/[a-z]+;base64,#i',$attribute_array['src']) &&
+ !(strlen($attribute_array['src'])>4 && strlen($attribute_array['src'])<800))
{
$attribute_array['alt']= $attribute_array['alt'].' [blocked (reason: url length):'.$attribute_array['src'].']';
if (!isset($attribute_array['title'])) $attribute_array['title']=$attribute_array['alt'];