diff --git a/autotest.sh b/autotest.sh
index fdf6d2fe098267dd414acd4b573f0b8fd5385d02..267815e96d82e147c86c6163791bfff5028db1dc 100755
--- a/autotest.sh
+++ b/autotest.sh
@@ -90,7 +90,12 @@ function execute_tests {
 	rm -rf coverage-html-$1
 	mkdir coverage-html-$1
 	php -f enable_all.php
-	phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml --coverage-clover autotest-clover-$1.xml --coverage-html coverage-html-$1
+	if [ "$1" == "pgsql" ] ; then
+		# no coverage with pg - causes segfault on ci.tmit.eu - reason unknown
+		phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml
+	else
+		phpunit --configuration phpunit-autotest.xml --log-junit autotest-results-$1.xml --coverage-clover autotest-clover-$1.xml --coverage-html coverage-html-$1
+	fi
 }
 
 #
diff --git a/lib/vobject/compoundproperty.php b/lib/vobject/compoundproperty.php
new file mode 100644
index 0000000000000000000000000000000000000000..d702ab802e0e835bf35141274ed4d2322533046a
--- /dev/null
+++ b/lib/vobject/compoundproperty.php
@@ -0,0 +1,70 @@
+<?php
+/**
+ * ownCloud - VObject Compound Property
+ *
+ * @author Thomas Tanghus
+ * @author Evert Pot (http://www.rooftopsolutions.nl/)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public
+ * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OC\VObject;
+
+/**
+ * This class overrides \Sabre\VObject\Property::serialize() to not
+ * double escape commas and semi-colons in compound properties.
+*/
+class CompoundProperty extends \Sabre\VObject\Property\Compound {
+
+	/**
+	* Turns the object back into a serialized blob.
+	*
+	* @return string
+	*/
+	public function serialize() {
+
+		$str = $this->name;
+		if ($this->group) {
+			$str = $this->group . '.' . $this->name;
+		}
+
+		foreach($this->parameters as $param) {
+			$str.=';' . $param->serialize();
+		}
+		$src = array(
+			"\n",
+		);
+		$out = array(
+			'\n',
+		);
+		$str.=':' . str_replace($src, $out, $this->value);
+
+		$out = '';
+		while(strlen($str) > 0) {
+			if (strlen($str) > 75) {
+				$out .= mb_strcut($str, 0, 75, 'utf-8') . "\r\n";
+				$str = ' ' . mb_strcut($str, 75, strlen($str), 'utf-8');
+			} else {
+				$out .= $str . "\r\n";
+				$str = '';
+				break;
+			}
+		}
+
+		return $out;
+
+	}
+
+}
\ No newline at end of file
diff --git a/tests/lib/vobject.php b/tests/lib/vobject.php
index 1103a4b3297084479b082bc42bb0e3f56e0bc881..f28d22a1fcdb3f0d4b4036348d23d339fc0742b6 100644
--- a/tests/lib/vobject.php
+++ b/tests/lib/vobject.php
@@ -10,10 +10,29 @@ class Test_VObject extends PHPUnit_Framework_TestCase {
 
 	public function setUp() {
 		Sabre\VObject\Property::$classMap['SUMMARY'] = 'OC\VObject\StringProperty';
+		Sabre\VObject\Property::$classMap['ORG'] = 'OC\VObject\CompoundProperty';
 	}
 
 	function testStringProperty() {
 		$property = Sabre\VObject\Property::create('SUMMARY', 'Escape;this,please');
 		$this->assertEquals("SUMMARY:Escape\;this\,please\r\n", $property->serialize());
 	}
+
+	function testCompoundProperty() {
+
+		$arr = array(
+			'ABC, Inc.',
+			'North American Division',
+			'Marketing;Sales',
+		);
+
+		$property = Sabre\VObject\Property::create('ORG');
+		$property->setParts($arr);
+
+		$this->assertEquals('ABC\, Inc.;North American Division;Marketing\;Sales', $property->value);
+		$this->assertEquals('ORG:ABC\, Inc.;North American Division;Marketing\;Sales' . "\r\n", $property->serialize());
+		$this->assertEquals(3, count($property->getParts()));
+		$parts = $property->getParts();
+		$this->assertEquals('Marketing;Sales', $parts[2]);
+	}
 }
\ No newline at end of file