diff --git a/cmd/geth/main.go b/cmd/geth/main.go
index a43daba2f43c59d0b642ba02c74990f9cbe0ec8e..ffeb7c1e54a6eeae7c1bccf902d7a05c8f3ed9dd 100644
--- a/cmd/geth/main.go
+++ b/cmd/geth/main.go
@@ -206,6 +206,7 @@ JavaScript API. See https://github.com/ethereum/go-ethereum/wiki/Javascipt-Conso
 		utils.NetworkIdFlag,
 		utils.RPCCORSDomainFlag,
 		utils.MetricsEnabledFlag,
+		utils.FakePoWFlag,
 		utils.SolcPathFlag,
 		utils.GpoMinGasPriceFlag,
 		utils.GpoMaxGasPriceFlag,
diff --git a/cmd/geth/usage.go b/cmd/geth/usage.go
index 278a5598094f0c456673e0b7a402dc2fb99522ba..90019d7b976a8031a97c1d1dd35df266b69455e4 100644
--- a/cmd/geth/usage.go
+++ b/cmd/geth/usage.go
@@ -150,8 +150,11 @@ var AppHelpFlagGroups = []flagGroup{
 		},
 	},
 	{
-		Name:  "LOGGING AND DEBUGGING",
-		Flags: append([]cli.Flag{utils.MetricsEnabledFlag}, debug.Flags...),
+		Name: "LOGGING AND DEBUGGING",
+		Flags: append([]cli.Flag{
+			utils.MetricsEnabledFlag,
+			utils.FakePoWFlag,
+		}, debug.Flags...),
 	},
 	{
 		Name: "EXPERIMENTAL",
diff --git a/cmd/utils/flags.go b/cmd/utils/flags.go
index 52060c79516ac322d39365c9681ab94a8083bb5b..8d55ac8b943c662778e9a25876ec916dfd836d37 100644
--- a/cmd/utils/flags.go
+++ b/cmd/utils/flags.go
@@ -47,6 +47,7 @@ import (
 	"github.com/ethereum/go-ethereum/p2p/discover"
 	"github.com/ethereum/go-ethereum/p2p/nat"
 	"github.com/ethereum/go-ethereum/params"
+	"github.com/ethereum/go-ethereum/pow"
 	"github.com/ethereum/go-ethereum/rpc"
 	"github.com/ethereum/go-ethereum/whisper"
 )
@@ -228,6 +229,10 @@ var (
 		Name:  metrics.MetricsEnabledFlag,
 		Usage: "Enable metrics collection and reporting",
 	}
+	FakePoWFlag = cli.BoolFlag{
+		Name:  "fakepow",
+		Usage: "Disables proof-of-work verification",
+	}
 
 	// RPC settings
 	RPCEnabledFlag = cli.BoolFlag{
@@ -842,11 +847,13 @@ func MakeChain(ctx *cli.Context) (chain *core.BlockChain, chainDb ethdb.Database
 			glog.Fatalln(err)
 		}
 	}
-
 	chainConfig := MustMakeChainConfigFromDb(ctx, chainDb)
 
-	var eventMux event.TypeMux
-	chain, err = core.NewBlockChain(chainDb, chainConfig, ethash.New(), &eventMux)
+	pow := pow.PoW(core.FakePow{})
+	if !ctx.GlobalBool(FakePoWFlag.Name) {
+		pow = ethash.New()
+	}
+	chain, err = core.NewBlockChain(chainDb, chainConfig, pow, new(event.TypeMux))
 	if err != nil {
 		Fatalf("Could not start chainmanager: %v", err)
 	}