diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index c0953d75e64b8f197bc298ae602b8f4b4090746f..dab167bbbf6a4478c800a2ef1868023c4687a1e4 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -218,6 +218,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
 		},
 	}
 	app.Flags = []cli.Flag{
+		utils.IdentityFlag,
 		utils.UnlockedAccountFlag,
 		utils.PasswordFileFlag,
 		utils.BootnodesFlag,
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 8141fae8270c40d058937bfdfe93793fc1f7be3e..a1d9eedda8623b120dc8f2f066f2d0dc809ec63d 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -89,6 +89,10 @@ var (
 		Usage: "Blockchain version",
 		Value: core.BlockChainVersion,
 	}
+	IdentityFlag = cli.StringFlag{
+		Name:  "identity",
+		Usage: "node name",
+	}
 
 	// miner settings
 	MinerThreadsFlag = cli.IntFlag{
@@ -242,6 +246,11 @@ func MakeEthConfig(clientID, version string, ctx *cli.Context) *eth.Config {
 	// Set the log dir
 	glog.SetLogDir(ctx.GlobalString(LogFileFlag.Name))
 
+	customName := ctx.GlobalString(IdentityFlag.Name)
+	if len(customName) > 0 {
+		clientID += "/" + customName
+	}
+
 	return &eth.Config{
 		Name:               common.MakeName(clientID, version),
 		DataDir:            ctx.GlobalString(DataDirFlag.Name),