diff --git a/src/syncevo/configs/datatypes/02vcard-types.xml b/src/syncevo/configs/datatypes/02vcard-types.xml
index 226af99..41c2172 100644
--- a/src/syncevo/configs/datatypes/02vcard-types.xml
+++ b/src/syncevo/configs/datatypes/02vcard-types.xml
@@ -7,6 +7,7 @@
      <incomingscript><![CDATA[
         $VCARD_INCOMING_NAMECHANGE_SCRIPT
         $VCARD_INCOMING_PHOTO_VALUE_SCRIPT
+        $VCARD_INCOMING_PHOTO_TYPE_SCRIPT
       ]]></incomingscript>
       <outgoingscript><![CDATA[
         $VCARD_OUTGOING_ADDREV_SCRIPT
@@ -22,6 +23,7 @@
       <incomingscript><![CDATA[
         $VCARD_INCOMING_NAMECHANGE_SCRIPT
         $VCARD_INCOMING_PHOTO_VALUE_SCRIPT
+        $VCARD_INCOMING_PHOTO_TYPE_SCRIPT
       ]]></incomingscript>
       <outgoingscript><![CDATA[
         $VCARD_OUTGOING_ADDREV_SCRIPT
diff --git a/src/syncevo/configs/scripting/04vcard-photo-value.xml b/src/syncevo/configs/scripting/04vcard-photo-value.xml
index 7981aa3..d3a4064 100644
--- a/src/syncevo/configs/scripting/04vcard-photo-value.xml
+++ b/src/syncevo/configs/scripting/04vcard-photo-value.xml
@@ -10,6 +10,15 @@
       }
     ]]></macro>
 
+    <macro name="VCARD_INCOMING_PHOTO_TYPE_SCRIPT"><![CDATA[
+      // Fix PHOTO TYPE=image/jpeg (sent by Funambol).
+      INTEGER pos;
+      pos = RFIND(PHOTO_TYPE, "/");
+      if (pos != UNASSIGNED) {
+          PHOTO_TYPE = SUBSTR(PHOTO_TYPE, pos + 1);
+      }
+    ]]></macro>
+
     <macro name="VCARD_OUTGOING_PHOTO_VALUE_SCRIPT"><![CDATA[
       // Ensure that PHOTO_VALUE == "binary" is not sent (it's the default).
       if (PHOTO_VALUE == "binary") {
