diff --git a/api/notifications.go b/api/notifications.go
index a226131f8afa0e404d0e847a389ae2d838e8ed63..2c0fdbe30ae0ab7fa071819e2d24c80674a7765f 100644
--- a/api/notifications.go
+++ b/api/notifications.go
@@ -95,9 +95,11 @@ func (c *Client) getIidAndSig() ([]byte, []byte, error) {
 		return nil, nil, errors.WithMessage(err, "RegisterForNotifications: Failed to write intermediary ID to hash")
 	}
 
-	sig, err := rsa.Sign(c.rng.GetStream(), c.GetUser().TransmissionRSA, hash.CMixHash, h.Sum(nil), nil)
+	stream := c.rng.GetStream()
+	sig, err := rsa.Sign(stream, c.GetUser().TransmissionRSA, hash.CMixHash, h.Sum(nil), nil)
 	if err != nil {
 		return nil, nil, errors.WithMessage(err, "RegisterForNotifications: Failed to sign intermediary ID")
 	}
+	stream.Close()
 	return intermediaryReceptionID, sig, nil
 }