diff --git a/ethereal/config.go b/ethereal/config.go
index af85975f208a466f9a48cc826c0f7d40a79498ad..94f896c5f11aef909baa169d0462804a75187a12 100644
--- a/ethereal/config.go
+++ b/ethereal/config.go
@@ -25,7 +25,7 @@ func Init() {
 	flag.BoolVar(&StartRpc, "r", false, "start rpc server")
 	flag.BoolVar(&ShowGenesis, "g", false, "prints genesis header and exits")
 	flag.BoolVar(&UseUPnP, "upnp", false, "enable UPnP support")
-	flag.BoolVar(&UseSeed, "seed", false, "seed peers")
+	flag.BoolVar(&UseSeed, "seed", true, "seed peers")
 	flag.BoolVar(&GenAddr, "genaddr", false, "create a new priv/pub key")
 	flag.BoolVar(&ExportKey, "export", false, "export private key")
 	flag.StringVar(&OutboundPort, "p", "30303", "listening port")
diff --git a/ethereal/ethereum.go b/ethereal/ethereum.go
index 1a6ab0044d03c3643286f62ccc23b202a7a232b0..bacf6d44613f3de62f3fea51952a678e5116f344 100644
--- a/ethereal/ethereum.go
+++ b/ethereal/ethereum.go
@@ -100,8 +100,12 @@ func main() {
 	}
 
 	if StartRpc {
-		ethereum.RpcServer = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool()))
-		go ethereum.RpcServer.Start()
+		ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool()))
+		if err != nil {
+			log.Println("Could not start RPC interface:", err)
+		} else {
+			go ethereum.RpcServer.Start()
+		}
 	}
 
 	log.Printf("Starting Ethereum GUI v%s\n", ethutil.Config.Ver)
diff --git a/ethereum/config.go b/ethereum/config.go
index db13918817e226788150adb863bbb449afafc152..234e79f1266dd1a484030a1d52f8c82b1186c090 100644
--- a/ethereum/config.go
+++ b/ethereum/config.go
@@ -28,7 +28,7 @@ func Init() {
 	flag.BoolVar(&StartRpc, "r", false, "start rpc server")
 	flag.BoolVar(&NonInteractive, "y", false, "non-interactive mode (say yes to confirmations)")
 	flag.BoolVar(&UseUPnP, "upnp", false, "enable UPnP support")
-	flag.BoolVar(&UseSeed, "seed", false, "seed peers")
+	flag.BoolVar(&UseSeed, "seed", true, "seed peers")
 	flag.BoolVar(&GenAddr, "genaddr", false, "create a new priv/pub key")
 	flag.BoolVar(&ExportKey, "export", false, "export private key")
 	flag.StringVar(&OutboundPort, "p", "30303", "listening port")
diff --git a/ethereum/ethereum.go b/ethereum/ethereum.go
index 2f05bf2a177fb3764e5abd29b20844f2240b50cf..8ef061be06d86f905f23394af640ea6e3181bc2e 100644
--- a/ethereum/ethereum.go
+++ b/ethereum/ethereum.go
@@ -133,8 +133,12 @@ func main() {
 		go console.Start()
 	}
 	if StartRpc {
-		ethereum.RpcServer = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool()))
-		go ethereum.RpcServer.Start()
+		ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool()))
+		if err != nil {
+			logger.Infoln("Could not start RPC interface:", err)
+		} else {
+			go ethereum.RpcServer.Start()
+		}
 	}
 
 	RegisterInterrupts(ethereum)