diff --git a/auth/request.go b/auth/request.go
index 75459786839b8fd6730b9bc58bb44cca67cbb7c5..c7c9e16d87536b918f6d498ec9104d0960bc0131 100644
--- a/auth/request.go
+++ b/auth/request.go
@@ -88,10 +88,12 @@ func requestAuth(partner, me contact.Contact, rng io.Reader, reset bool,
 	} else if err == nil {
 		switch rqType {
 		case auth.Receive:
-			// TODO: We've already received a request, so send a
-			//       confirmation instead?
-			return 0, errors.Errorf("Cannot send a request after " +
-				"receiving a request")
+			if reset {
+				storage.Auth().DeleteRequest(partner.ID)
+			} else {
+				return 0, errors.Errorf("Cannot send a " +
+					"request after receiving a request")
+			}
 		case auth.Sent:
 			resend = true
 		default: