diff --git a/auth/receivedConfirm.go b/auth/receivedConfirm.go
index 202085d34f8b2c36b945f0fdbd0ed34280e1fc86..c4b5a7e81398c93fe7894e34fd44e13d7fdfdf1d 100644
--- a/auth/receivedConfirm.go
+++ b/auth/receivedConfirm.go
@@ -50,8 +50,8 @@ func (rcs *receivedConfirmService) Process(msg format.Message,
 		baseFmt.GetEcrPayload(), msg.GetMac(), state.e2e.GetGroup())
 
 	if !success {
-		em := fmt.Sprintf("Received auth confirmation failed its mac " +
-			"check")
+		em := fmt.Sprintf("Received auth confirmation " +
+			"failed its mac check")
 		jww.WARN.Print(em)
 		state.event.Report(10, "Auth", "ConfirmError", em)
 		return
diff --git a/auth/receivedRequest.go b/auth/receivedRequest.go
index 7b033cc2ca11290ff7f2b2fa9cf7813e48c5ca57..22a94b0642cbdf2e60b19af8a1cbe8269c2333aa 100644
--- a/auth/receivedRequest.go
+++ b/auth/receivedRequest.go
@@ -149,6 +149,10 @@ func (rrs *receivedRequestService) Process(message format.Message,
 	// new request
 	reset := false
 	if rrs.reset {
+		jww.INFO.Printf("AuthRequest ResetSession from %s,"+
+			" msgDigest: %s, FP: %s", partnerID,
+			format.DigestContents(message.GetContents()),
+			base64.StdEncoding.EncodeToString(fp))
 		// delete only deletes if the partner is present, so we can just call delete
 		// instead of checking if it exists and then calling delete, and check the
 		// error to see if it did or didnt exist
diff --git a/auth/request.go b/auth/request.go
index 8a064c1fe91e0e0dd8aab4e46c1cb6077d45d3c3..9c0dc2e4db1a9f4562d2db4bbaaf80b0e3dc7658 100644
--- a/auth/request.go
+++ b/auth/request.go
@@ -86,6 +86,10 @@ func (s *state) request(partner contact.Contact, myfacts fact.FactList,
 		} else {
 			jww.INFO.Printf("Resending request to %s from %s as "+
 				"one was already sent", partner.ID, me)
+			dhPriv = sr.GetMyPrivKey()
+			dhPub = sr.GetMyPubKey()
+			//sidhPriv = sr.GetMySIDHPrivKey()
+			sidhPub = sr.GetMySIDHPubKey()
 		}
 	}
 
@@ -114,9 +118,13 @@ func (s *state) request(partner contact.Contact, myfacts fact.FactList,
 
 	p := cmix.GetDefaultCMIXParams()
 	p.DebugTag = "auth.Request"
+	tag := s.params.RequestTag
+	if reset {
+		tag = s.params.ResetRequestTag
+	}
 	svc := message.Service{
 		Identifier: partner.ID.Marshal(),
-		Tag:        s.params.RequestTag,
+		Tag:        tag,
 		Metadata:   nil,
 	}
 	round, _, err := s.net.Send(partner.ID, requestfp, svc, contents, mac, p)
diff --git a/auth/state.go b/auth/state.go
index a3e3d59df1ff43bf8eb6ace2582a009aaedab191..2be3d4d6b3a63f0b9706a1bcccbf862828cc06d5 100644
--- a/auth/state.go
+++ b/auth/state.go
@@ -77,11 +77,11 @@ type e2eHandler interface {
 }
 
 type Callbacks interface {
-	Request(requestor contact.Contact, receptionID receptionID.EphemeralIdentity,
+	Request(partner contact.Contact, receptionID receptionID.EphemeralIdentity,
 		round rounds.Round)
-	Confirm(requestor contact.Contact, receptionID receptionID.EphemeralIdentity,
+	Confirm(partner contact.Contact, receptionID receptionID.EphemeralIdentity,
 		round rounds.Round)
-	Reset(requestor contact.Contact, receptionID receptionID.EphemeralIdentity,
+	Reset(partner contact.Contact, receptionID receptionID.EphemeralIdentity,
 		round rounds.Round)
 }
 
diff --git a/auth/store/store.go b/auth/store/store.go
index 241a090efa847be4db877a42bb81692955d285a5..d38510933c82093118a160f6f8afac7caacc14fa 100644
--- a/auth/store/store.go
+++ b/auth/store/store.go
@@ -181,15 +181,17 @@ func (s *Store) AddSent(partner *id.ID, partnerHistoricalPubKey, myPrivKey,
 	s.mux.Lock()
 	defer s.mux.Unlock()
 
-	if sentRq, ok := s.sentByID[*partner]; ok {
-		return sentRq, errors.Errorf("Cannot make new sentRequest "+
-			"for partner %s, a sent request already exists",
-			partner)
-	}
-	if _, ok := s.receivedByID[*partner]; ok {
-		return nil, errors.Errorf("Cannot make new sentRequest for "+
-			" partner %s, a received reqyest already exists",
-			partner)
+	if !reset {
+		if sentRq, ok := s.sentByID[*partner]; ok {
+			return sentRq, errors.Errorf("sent request "+
+				"already exists for partner %s",
+				partner)
+		}
+		if _, ok := s.receivedByID[*partner]; ok {
+			return nil, errors.Errorf("received request "+
+				"already exists for partner %s",
+				partner)
+		}
 	}
 
 	sr, err := newSentRequest(s.kv, partner, partnerHistoricalPubKey,