diff --git a/client/remote.go b/client/remote.go
index 4f3248a0aecb1758a60fe81ae4c56ec0338aaeff..34a0684f216e004861ffe0c3b0a10af1f1e403d6 100644
--- a/client/remote.go
+++ b/client/remote.go
@@ -52,6 +52,12 @@ func (r *Remote) Handshake() error {
 
 // Secret authenticates and sets secret.
 func (r *Remote) Secret(secret string) (api.UserPayload, bool) {
+	// Clear secret if empty
+	if secret == "" {
+		r.secret = secret
+		return api.UserPayload{}, true
+	}
+
 	prev := r.secret
 	r.secret = secret
 	if user, err := r.This(); err != nil {