diff --git a/storage/auth/store.go b/storage/auth/store.go
index 8582c7571bf2886b0770f63f99a3b105a8304044..42594f8409221552547800d3b31d9d33ec69e852 100644
--- a/storage/auth/store.go
+++ b/storage/auth/store.go
@@ -9,10 +9,10 @@ package auth
 
 import (
 	"encoding/json"
+	"fmt"
 	"github.com/cloudflare/circl/dh/sidh"
 	"github.com/pkg/errors"
 	jww "github.com/spf13/jwalterweatherman"
-	util "gitlab.com/elixxir/client/storage/utility"
 	"gitlab.com/elixxir/client/storage/versioned"
 	"gitlab.com/elixxir/crypto/contact"
 	"gitlab.com/elixxir/crypto/cyclic"
@@ -313,20 +313,19 @@ func (s *Store) Done(rr *ReceivedRequest) {
 func (s *Store) Delete(partner *id.ID) error {
 	s.mux.Lock()
 	defer s.mux.Unlock()
-	r, ok := s.receivedByID[*partner]
+	authId := makeAuthIdentity(partner, s.defaultID)
 
-	if !ok {
-		return errors.Errorf("Request not found: %s", partner)
-	}
+	_, isReceivedRelationship := s.receivedByID[authId]
+	_, isSentRelationship := s.sentByID[authId]
 
-	switch r.rt {
-	case Sent:
-		s.deleteSentRequest(r)
-	case Receive:
-		s.deleteReceiveRequest(r)
+	if !isSentRelationship && !isReceivedRelationship {
+		return errors.New(fmt.Sprintf("No relationship exists with "+
+			"partner %s", partner))
 	}
 
-	delete(s.receivedByID, *partner)
+	delete(s.receivedByID, authId)
+	delete(s.sentByID, authId)
+
 	if err := s.save(); err != nil {
 		jww.FATAL.Panicf("Failed to store updated request map after "+
 			"deletion: %+v", err)
@@ -346,17 +345,9 @@ func (s *Store) DeleteAllRequests() error {
 	s.mux.Lock()
 	defer s.mux.Unlock()
 
-	for partnerId, req := range s.receivedByID {
-		switch req.rt {
-		case Sent:
-			s.deleteSentRequest(req)
-			delete(s.receivedByID, partnerId)
-		case Receive:
-			s.deleteReceiveRequest(req)
-			delete(s.receivedByID, partnerId)
-		}
-
-	}
+	// Delete all requests
+	s.deleteSentRequests()
+	s.deleteReceiveRequests()
 
 	if err := s.save(); err != nil {
 		jww.FATAL.Panicf("Failed to store updated request map after "+
@@ -370,27 +361,31 @@ func (s *Store) DeleteAllRequests() error {
 // If the partner ID exists as a request,  then the request will be deleted
 // and the state stored. If the partner does not exist, then an error will
 // be returned.
-func (s *Store) DeleteRequest(partnerId *id.ID) error {
+func (s *Store) DeleteRequest(partner *id.ID) error {
 	s.mux.Lock()
 	defer s.mux.Unlock()
 
-	req, ok := s.receivedByID[*partnerId]
-	if !ok {
-		return errors.Errorf("Request for %s does not exist", partnerId)
-	}
+	authId := makeAuthIdentity(partner, s.defaultID)
 
-	switch req.rt {
-	case Sent:
-		s.deleteSentRequest(req)
-	case Receive:
-		s.deleteReceiveRequest(req)
+	// Check if this is a relationship in either map
+	_, isReceivedRelationship := s.receivedByID[authId]
+	_, isSentRelationship := s.sentByID[authId]
+
+	// If it is not a relationship in either, return an error
+	if !isSentRelationship && !isReceivedRelationship {
+		return errors.New(fmt.Sprintf("No relationship exists with "+
+			"identity %s", partner))
 	}
 
-	delete(s.receivedByID, *partnerId)
+	// Delete relationship. It should exist in at least one map,
+	// for the other the delete operation is a no-op
+	delete(s.receivedByID, authId)
+	delete(s.sentByID, authId)
 
+	// Save to storage
 	if err := s.save(); err != nil {
 		jww.FATAL.Panicf("Failed to store updated request map after "+
-			"deleting partner request for partner %s: %+v", partnerId, err)
+			"deleting partner request for partner %s: %+v", partner, err)
 	}
 
 	return nil
@@ -401,15 +396,7 @@ func (s *Store) DeleteSentRequests() error {
 	s.mux.Lock()
 	defer s.mux.Unlock()
 
-	for partnerId, req := range s.receivedByID {
-		switch req.rt {
-		case Sent:
-			s.deleteSentRequest(req)
-			delete(s.receivedByID, partnerId)
-		case Receive:
-			continue
-		}
-	}
+	s.deleteSentRequests()
 
 	if err := s.save(); err != nil {
 		jww.FATAL.Panicf("Failed to store updated request map after "+
@@ -424,15 +411,7 @@ func (s *Store) DeleteReceiveRequests() error {
 	s.mux.Lock()
 	defer s.mux.Unlock()
 
-	for partnerId, req := range s.receivedByID {
-		switch req.rt {
-		case Sent:
-			continue
-		case Receive:
-			s.deleteReceiveRequest(req)
-			delete(s.receivedByID, partnerId)
-		}
-	}
+	s.deleteReceiveRequests()
 
 	if err := s.save(); err != nil {
 		jww.FATAL.Panicf("Failed to store updated request map after "+
@@ -442,18 +421,16 @@ func (s *Store) DeleteReceiveRequests() error {
 	return nil
 }
 
-// deleteSentRequest is a helper function which deletes a Sent request from storage.
-func (s *Store) deleteSentRequest(r *ReceivedRequest) {
-	delete(s.sentByFingerprints, r.sent.fingerprint)
-	if err := r.sent.delete(); err != nil {
-		jww.FATAL.Panicf("Failed to delete sent request: %+v", err)
+// deleteSentRequests is a helper function which deletes a Sent request from storage.
+func (s *Store) deleteSentRequests() {
+	for partnerId := range s.sentByID {
+		delete(s.sentByID, partnerId)
 	}
 }
 
-// deleteReceiveRequest is a helper function which deletes a Receive request from storage.
-func (s *Store) deleteReceiveRequest(r *ReceivedRequest) {
-	if err := util.DeleteContact(s.kv, r.partner.ID); err != nil {
-		jww.FATAL.Panicf("Failed to delete recieved request "+
-			"contact: %+v", err)
+// deleteReceiveRequests is a helper function which deletes a Receive request from storage.
+func (s *Store) deleteReceiveRequests() {
+	for partnerId := range s.receivedByID {
+		delete(s.receivedByID, partnerId)
 	}
 }