diff --git a/apps/contacts/export.php b/apps/contacts/export.php
index f84a10c13888e81aebbbb17a4f370d46537dc745..ba7b06e40d25975cb6baca94d1e2cceb99008ff7 100644
--- a/apps/contacts/export.php
+++ b/apps/contacts/export.php
@@ -14,12 +14,16 @@ $contactid = isset($_GET['contactid']) ? $_GET['contactid'] : NULL;
 $nl = "\n";
 if(isset($bookid)){
 	$addressbook = OC_Contacts_App::getAddressbook($bookid);
-	$cardobjects = OC_Contacts_VCard::all($bookid);
+	//$cardobjects = OC_Contacts_VCard::all($bookid);
 	header('Content-Type: text/directory');
 	header('Content-Disposition: inline; filename=' . str_replace(' ', '_', $addressbook['displayname']) . '.vcf'); 
 
-	foreach($cardobjects as $card) {
-		echo $card['carddata'] . $nl;
+	$start = 0;
+	while($cardobjects = OC_Contacts_VCard::all($bookid, $start, 20)){
+		foreach($cardobjects as $card) {
+			echo $card['carddata'] . $nl;
+		}
+		$start += 20;
 	}
 }elseif(isset($contactid)){
 	$data = OC_Contacts_App::getContactObject($contactid);