diff --git a/apps/contacts/js/contacts.js b/apps/contacts/js/contacts.js
index 3b264c0197efdb1163b71d0bee30191a3c9de9e7..b2678e8c52843caccc60d16ae2dff76451c73c97 100644
--- a/apps/contacts/js/contacts.js
+++ b/apps/contacts/js/contacts.js
@@ -264,6 +264,18 @@ Contacts={
 			},
 			add:function(n, fn, aid, isnew){ // add a new contact
 				console.log('Add contact: ' + n + ', ' + fn + ' ' + aid);
+				var card = $('#card')[0];
+				if(!card) {
+					console.log('Loading proper card DOM');
+					$.getJSON(OC.filePath('contacts', 'ajax', 'loadcard.php'),{},function(jsondata){
+						if(jsondata.status == 'success'){
+							$('#rightcontent').html(jsondata.data.page);
+							Contacts.UI.loadHandlers();
+						} else{
+							OC.dialogs.alert(jsondata.data.message, t('contacts', 'Error'));
+						}
+					});
+				}
 				$.post(OC.filePath('contacts', 'ajax', 'addcontact.php'), { n: n, fn: fn, aid: aid },
 				  function(jsondata) {
 					if (jsondata.status == 'success'){