diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php
index 237c604f66180bffab2a12c5964c183ed7874831..37dbb3c3f5d2424879e886d73445ee1bd267c94c 100644
--- a/apps/dav/lib/CalDAV/CalDavBackend.php
+++ b/apps/dav/lib/CalDAV/CalDavBackend.php
@@ -2465,11 +2465,10 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
 							if ($this->db->supports4ByteText()) {
 								$value = preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $value);
 							}
-							$value = mb_substr($value, 0, 254);
 
 							$query->setParameter('name', $property->name);
-							$query->setParameter('parameter', substr($key, 0, 254));
-							$query->setParameter('value', substr($value, 0, 254));
+							$query->setParameter('parameter', mb_substr($key, 0, 254));
+							$query->setParameter('value', mb_substr($value, 0, 254));
 							$query->execute();
 						}
 					}
diff --git a/apps/dav/lib/CardDAV/CardDavBackend.php b/apps/dav/lib/CardDAV/CardDavBackend.php
index 7ade5b7959cf377421361da1b8f3fb4a762881da..24b91f7cec365b796363b33d929cf65f5f29d3c0 100644
--- a/apps/dav/lib/CardDAV/CardDavBackend.php
+++ b/apps/dav/lib/CardDAV/CardDavBackend.php
@@ -1063,7 +1063,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {
 				}
 			}
 			$query->setParameter('name', $property->name);
-			$query->setParameter('value', substr($property->getValue(), 0, 254));
+			$query->setParameter('value', mb_substr($property->getValue(), 0, 254));
 			$query->setParameter('preferred', $preferred);
 			$query->execute();
 		}