diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index 1c618de352572d4a3ed23c2589464d7b5b2dbc58..77ef6afe245b702d8eeab4e944d29becaa4fc4f1 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -251,6 +251,9 @@ func main() {
 // It creates a default node based on the command line arguments and runs it in
 // blocking mode, waiting for it to be shut down.
 func geth(ctx *cli.Context) error {
+	if args := ctx.Args(); len(args) > 0 {
+		return fmt.Errorf("invalid command: %q", args[0])
+	}
 	node := makeFullNode(ctx)
 	startNode(ctx, node)
 	node.Wait()
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 29a79b4a2b6cf4fa3183214cdea79e8d55e21ce4..27e56f1098ee0b0c48c604edf8b196d40f908ec3 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -644,8 +644,7 @@ func setBootstrapNodes(ctx *cli.Context, cfg *p2p.Config) {
 	for _, url := range urls {
 		node, err := discover.ParseNode(url)
 		if err != nil {
-			log.Error("Bootstrap URL invalid", "enode", url, "err", err)
-			continue
+			log.Crit("Bootstrap URL invalid", "enode", url, "err", err)
 		}
 		cfg.BootstrapNodes = append(cfg.BootstrapNodes, node)
 	}