diff --git a/ethereal/config.go b/ethereal/config.go
index 817befc2c87af8c80f1a2aad0a6b86f59f21bd18..3864126dbef70b9b7b0c12c729e58aa9f8dc4a23 100644
--- a/ethereal/config.go
+++ b/ethereal/config.go
@@ -4,6 +4,7 @@ import (
 	"flag"
 )
 
+var Identifier string
 var StartConsole bool
 var StartMining bool
 var StartRpc bool
@@ -21,6 +22,7 @@ var DataDir string
 var AssetPath string
 
 func Init() {
+	flag.StringVar(&Identifier, "i", "", "Custom client identifier")
 	flag.BoolVar(&StartConsole, "c", false, "debug and testing console")
 	flag.BoolVar(&StartMining, "m", false, "start dagger mining")
 	flag.BoolVar(&StartRpc, "r", false, "start rpc server")
diff --git a/ethereal/ethereum.go b/ethereal/ethereum.go
index 206971b413af8db7edbb26d38baa005d3463f708..30187d9564726c7912860fd1cb7f788d7a6c45d5 100644
--- a/ethereal/ethereum.go
+++ b/ethereal/ethereum.go
@@ -39,7 +39,7 @@ func main() {
 	runtime.GOMAXPROCS(runtime.NumCPU())
 
 	ethchain.InitFees()
-	ethutil.ReadConfig(DataDir, ethutil.LogFile|ethutil.LogStd)
+	ethutil.ReadConfig(DataDir, ethutil.LogFile|ethutil.LogStd, Identifier)
 
 	// Instantiated a eth stack
 	ethereum, err := eth.New(eth.CapDefault, UseUPnP)
diff --git a/ethereum/config.go b/ethereum/config.go
index f25f2fb66b7bb7cea1a0257a7a1e8b70fb2d2ca8..f39f3b7da1c6dc95512c4b2173931a89f51b4828 100644
--- a/ethereum/config.go
+++ b/ethereum/config.go
@@ -6,6 +6,7 @@ import (
 	"os"
 )
 
+var Identifier string
 var StartMining bool
 var StartRpc bool
 var RpcPort int
@@ -30,6 +31,7 @@ func Init() {
 		flag.PrintDefaults()
 	}
 
+	flag.StringVar(&Identifier, "i", "", "Custom client identifier")
 	flag.BoolVar(&StartMining, "m", false, "start dagger mining")
 	flag.BoolVar(&ShowGenesis, "g", false, "prints genesis header and exits")
 	flag.BoolVar(&StartRpc, "r", false, "start rpc server")
diff --git a/ethereum/ethereum.go b/ethereum/ethereum.go
index 2fdfd5caf10b0ae2f9c50f86574b57a115447cfe..34bacb7b9969154b520d00125853dbc28d63ac35 100644
--- a/ethereum/ethereum.go
+++ b/ethereum/ethereum.go
@@ -52,12 +52,15 @@ func main() {
 	var logSys *log.Logger
 	flags := log.LstdFlags
 
+	var lt ethutil.LoggerType
 	if StartJsConsole || len(InputFile) > 0 {
-		ethutil.ReadConfig(DataDir, ethutil.LogFile)
+		lt = ethutil.LogFile
 	} else {
-		ethutil.ReadConfig(DataDir, ethutil.LogFile|ethutil.LogStd)
+		lt = ethutil.LogFile | ethutil.LogStd
 	}
 
+	ethutil.ReadConfig(DataDir, lt, Identifier)
+
 	logger := ethutil.Config.Log
 
 	if LogFile != "" {