diff --git a/cmd/invitectl/README.md b/cmd/invitectl/README.md
index f9999859e9b0fbf5d67b5088c54a0125c63f8115..d92acb0605b102c1db297586639e18eb73c4427c 100644
--- a/cmd/invitectl/README.md
+++ b/cmd/invitectl/README.md
@@ -15,6 +15,7 @@ Usage:
   invitectl [command]
 
 Available Commands:
+  check       Show bucket(s) for a supplied invite token
   completion  Generate the autocompletion script for the specified shell
   delete      Delete Invite Tokens in db by bucket(s) or by key
   delete-all  Delete all invite tokens in database
@@ -119,3 +120,13 @@ pea@peabox: ./invitectl --db invites.db delete-all
    • Successfully deleted all invite tokens in database
 ```
 
+## Check if invite token exists in database
+```
+pea@peabox:invitectl go run ./main.go check --db invites.db -t solitech_U2Zjyzx4SokbP2u+YP2gKw==
+INF Checking invite token solitech_U2Zjyzx4SokbP2u+YP2gKw==
+DBG SHA265 hashed and base64 encoded invite token (saved in db): ZqL2zZj0EcRf2XzNB4XwnMYzB5z5DVzp926UHoeNtJY=
+DBG Looking in the database for hashed invite token ZqL2zZj0EcRf2XzNB4XwnMYzB5z5DVzp926UHoeNtJY=
+INF                         invite token (hashed) buckets
+INF  ZqL2zZj0EcRf2XzNB4XwnMYzB5z5DVzp926UHoeNtJY= bucket1
+
+```
diff --git a/cmd/invitectl/cmd/check.go b/cmd/invitectl/cmd/check.go
new file mode 100644
index 0000000000000000000000000000000000000000..ac093935328ef729f33f0f4562fe82d38d253481
--- /dev/null
+++ b/cmd/invitectl/cmd/check.go
@@ -0,0 +1,57 @@
+package cmd
+
+import (
+	"bufio"
+	"fmt"
+	"os"
+	"strings"
+
+	"0xacab.org/leap/menshen/storage"
+	"github.com/rs/zerolog/log"
+	"github.com/spf13/cobra"
+)
+
+var checkCmd = &cobra.Command{
+	Use:   "check",
+	Short: "Show bucket(s) for a supplied invite token",
+	Run: func(cmd *cobra.Command, args []string) {
+		doCheckInviteToken(cmd)
+	},
+}
+
+var token string
+
+func init() {
+	rootCmd.AddCommand(checkCmd)
+	checkCmd.Flags().StringVarP(&token, "token", "t", "", "Invite token you want to check. Use - to enter invite code interactively")
+}
+
+func doCheckInviteToken(cmd *cobra.Command) {
+
+	if len(token) == 0 {
+		log.Error().Msg("Invite token needs to be specified")
+		cmd.Help() // nolint: errcheck
+		os.Exit(1)
+	}
+
+	if token == "-" {
+		reader := bufio.NewReader(os.Stdin)
+		fmt.Print("Enter invite token: ")
+		var err error
+		token, err = reader.ReadString('\n')
+		failOnError("Could not read string from command line", err)
+		token = strings.TrimSpace(token)
+	}
+	checkInviteToken()
+}
+
+func checkInviteToken() {
+	log.Info().Msgf("Checking invite token %s", token)
+	hashedToken := hashInviteToken(token)
+
+	db, err := storage.OpenDatabase(dbPath)
+	failOnError("Could not open database", err)
+	defer db.Close()
+
+	printBucketsByInviteToken(db, hashedToken)
+}
diff --git a/cmd/invitectl/cmd/db.go b/cmd/invitectl/cmd/db.go
index 94bb196e0662f83867c1489260033c8d5d2a2e2f..5085c609329bf7bd3b5d7c787927ad670edf716a 100644
--- a/cmd/invitectl/cmd/db.go
+++ b/cmd/invitectl/cmd/db.go
@@ -5,6 +5,7 @@ import (
 	"strings"
 
 	"github.com/jmoiron/sqlx"
+	"github.com/rs/zerolog/log"
 )
 
 func getInviteTokens(db *sqlx.DB) ([]InviteToken, error) {
@@ -30,6 +31,22 @@ func getInviteTokens(db *sqlx.DB) ([]InviteToken, error) {
 	return tokens, nil
 }
 
+func printBucketsByInviteToken(db *sqlx.DB, hashedInviteToken string) {
+	log.Debug().Msgf("Looking in the database for hashed invite token %s", hashedInviteToken)
+
+	stmt, err := db.Prepare(`SELECT buckets FROM tokens WHERE key = ?`)
+	failOnError("Could not create prepared statement", err)
+	defer stmt.Close()
+
+	row := stmt.QueryRow(hashedInviteToken)
+
+	var buckets string
+	err = row.Scan(&buckets)
+	failOnError("Could not read from database", err)
+	log.Info().Msgf("%45s %s", "invite token (hashed)", "buckets")
+	log.Info().Msgf("%45s %s", hashedInviteToken, buckets)
+}
+
 func insertInviteToken(db *sqlx.DB, token InviteToken) error {
 	err := token.Validate()
 	if err != nil {
diff --git a/cmd/invitectl/cmd/delete.go b/cmd/invitectl/cmd/delete.go
index 794be33a1a0b6dbe8d10dbe6c2b9b33aae5142df..40027f99d0b67b7ca2ff38624b87571b20ee6e1f 100644
--- a/cmd/invitectl/cmd/delete.go
+++ b/cmd/invitectl/cmd/delete.go
@@ -23,7 +23,7 @@ var deleteToken string
 func init() {
 	rootCmd.AddCommand(deleteCmd)
 	deleteCmd.Flags().StringVarP(&deleteBucket, "bucket", "b", "", "Delete all invite tokens in the db that belong to the given bucket")
-	deleteCmd.Flags().StringVarP(&deleteToken, "token", "t", "", "Delete invite token(s) with the specified invite token. Use - to enter invite code manually")
+	deleteCmd.Flags().StringVarP(&deleteToken, "token", "t", "", "Delete invite token(s) with the specified invite token. Use - to enter invite code interactively")
 }
 
 func doDeleteInviteToken(cmd *cobra.Command, args []string) {