diff --git a/notifications/notifications.go b/notifications/notifications.go
index 6ad5ecaa74b0f36f9530e97b97e9d40b453e02a0..0e20f00d8419fb0fed3e2cf5719d68ccf661c296 100644
--- a/notifications/notifications.go
+++ b/notifications/notifications.go
@@ -193,6 +193,9 @@ func pollForNotifications(nb *Impl) (strings []string, e error) {
 
 // RegisterForNotifications is called by the client, and adds a user registration to our database
 func (nb *Impl) RegisterForNotifications(clientToken []byte, auth *connect.Auth) error {
+	if !auth.IsAuthenticated {
+		return errors.New("Cannot register for notifications: client is not authenticated")
+	}
 	// Implement this
 	u := &storage.User{
 		Id:    auth.Sender.GetId(),
@@ -207,6 +210,9 @@ func (nb *Impl) RegisterForNotifications(clientToken []byte, auth *connect.Auth)
 
 // UnregisterForNotifications is called by the client, and removes a user registration from our database
 func (nb *Impl) UnregisterForNotifications(auth *connect.Auth) error {
+	if !auth.IsAuthenticated {
+		return errors.New("Cannot unregister for notifications: client is not authenticated")
+	}
 	err := nb.Storage.DeleteUser(auth.Sender.GetId())
 	if err != nil {
 		return errors.Wrap(err, "Failed to unregister user with notifications")