diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index 5d5ab4559dfaea90060d1f3ad18b3eeaf451d224..3a6366f4d2f1f195102da13b61ef5df8a316a4ca 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -359,6 +359,12 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
 		go metrics.CollectProcessMetrics(3 * time.Second)
 
 		utils.SetupNetwork(ctx)
+
+		// Deprecation warning.
+		if ctx.GlobalIsSet(utils.GenesisFileFlag.Name) {
+			common.PrintDepricationWarning("--genesis is deprecated. Switch to use 'geth init /path/to/file'")
+		}
+
 		return nil
 	}
 
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 3f54b40caf4c05b1abcf984aab3c619a0c582b35..5c0c3c614440ceb2b9c3d5201cc166bd657ada32 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -772,23 +772,22 @@ func MustMakeChainConfig(ctx *cli.Context) *core.ChainConfig {
 	)
 	defer db.Close()
 
-	chainConfig, err := core.GetChainConfig(db, genesis.Hash())
-	if err != nil {
-		if err != core.ChainConfigNotFoundErr {
+	if genesis != nil {
+		// Exsting genesis block, use stored config if available.
+		storedConfig, err := core.GetChainConfig(db, genesis.Hash())
+		if err == nil {
+			return storedConfig
+		} else if err != core.ChainConfigNotFoundErr {
 			Fatalf("Could not make chain configuration: %v", err)
 		}
-		var homesteadBlockNo *big.Int
-		if ctx.GlobalBool(TestNetFlag.Name) {
-			homesteadBlockNo = params.TestNetHomesteadBlock
-		} else {
-			homesteadBlockNo = params.MainNetHomesteadBlock
-		}
-
-		chainConfig = &core.ChainConfig{
-			HomesteadBlock: homesteadBlockNo,
-		}
 	}
-	return chainConfig
+	var homesteadBlockNo *big.Int
+	if ctx.GlobalBool(TestNetFlag.Name) {
+		homesteadBlockNo = params.TestNetHomesteadBlock
+	} else {
+		homesteadBlockNo = params.MainNetHomesteadBlock
+	}
+	return &core.ChainConfig{HomesteadBlock: homesteadBlockNo}
 }
 
 // MakeChainDatabase open an LevelDB using the flags passed to the client and will hard crash if it fails.
diff --git a/eth/backend.go b/eth/backend.go
index 3c3440a53d1c517a4e7cd32fc69f3ee398e824d3..26af7ff91b99144ede628bc74013b9b9c4878c3b 100644
--- a/eth/backend.go
+++ b/eth/backend.go
@@ -169,10 +169,6 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) {
 
 	// Load up any custom genesis block if requested
 	if len(config.Genesis) > 0 {
-		// Using println instead of glog to make sure it **always** displays regardless of
-		// verbosity settings.
-		common.PrintDepricationWarning("--genesis is deprecated. Switch to use 'geth init /path/to/file'")
-
 		block, err := core.WriteGenesisBlock(chainDb, strings.NewReader(config.Genesis))
 		if err != nil {
 			return nil, err