diff --git a/src/Content/Widget/VCard.php b/src/Content/Widget/VCard.php
index 13bd6f29a9..9794270e26 100644
--- a/src/Content/Widget/VCard.php
+++ b/src/Content/Widget/VCard.php
@@ -70,7 +70,7 @@ class VCard
 				$rel     = $contact['rel'];
 				$pending = $contact['pending'];
 			} else {
-				$pcontact = Contact::selectFirst([], ['uid' => DI::userSession()->getLocalUserId(), 'uri-id' => $contact['uri-id']]);
+				$pcontact = Contact::selectFirst([], ['uid' => DI::userSession()->getLocalUserId(), 'uri-id' => $contact['uri-id'], 'deleted' => false]);
 
 				$id      = $pcontact['id'] ?? 0;
 				$rel     = $pcontact['rel'] ?? Contact::NOTHING;
diff --git a/src/Model/Contact.php b/src/Model/Contact.php
index b26f985202..91e89b2f2f 100644
--- a/src/Model/Contact.php
+++ b/src/Model/Contact.php
@@ -902,7 +902,7 @@ class Contact
 		self::clearFollowerFollowingEndpointCache($contact['uid']);
 
 		// Archive the contact
-		self::update(['archive' => true, 'network' => Protocol::PHANTOM, 'deleted' => true], ['id' => $id]);
+		self::update(['archive' => true, 'network' => Protocol::PHANTOM, 'rel' => self::NOTHING, 'deleted' => true], ['id' => $id]);
 
 		if (!DBA::exists('contact', ['uri-id' => $contact['uri-id'], 'deleted' => false])) {
 			Avatar::deleteCache($contact);