diff --git a/apps/contacts/lib/vcard.php b/apps/contacts/lib/vcard.php
index adfa32b6f5fc9c662c72de2c08237e4deb182799..a6795c7935b7e716072d574c650a20cd1fefc90b 100644
--- a/apps/contacts/lib/vcard.php
+++ b/apps/contacts/lib/vcard.php
@@ -95,10 +95,15 @@ class OC_Contacts_VCard{
 
 		$card = self::parse($data);
 		if(!is_null($card)){
+			// VCARD must have a version
+			$hasversion = false;
 			foreach($card->children as $property){
 				if($property->name == 'FN'){
 					$fn = $property->value;
 				}
+				elseif($property->name == 'VERSION'){
+					$hasversion = true;
+				}
 				elseif(is_null($uri) && $property->name == 'UID' ){
 					$uri = $property->value.'.vcf';
 				}
@@ -109,6 +114,11 @@ class OC_Contacts_VCard{
 				$card->add(new Sabre_VObject_Property('UID',$uid));
 				$data = $card->serialize();
 			};
+			// Add version if needed
+			if(!$hasversion){
+				$card->add(new Sabre_VObject_Property('VERSION','3.0'));
+				$data = $card->serialize();
+			}
 		}
 		else{
 			// that's hard. Creating a UID and not saving it