diff --git a/ethereal/ethereum.go b/ethereal/ethereum.go
index bacf6d44613f3de62f3fea51952a678e5116f344..d848e9a68c3afdea7ccb780fd5521ec42acb344a 100644
--- a/ethereal/ethereum.go
+++ b/ethereal/ethereum.go
@@ -100,7 +100,7 @@ func main() {
 	}
 
 	if StartRpc {
-		ethereum.RpcServer, err = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool()))
+		ethereum.RpcServer = ethrpc.NewJsonRpcServer(ethpub.NewPEthereum(ethereum))
 		if err != nil {
 			log.Println("Could not start RPC interface:", err)
 		} else {
diff --git a/ethereal/ui/ext_app.go b/ethereal/ui/ext_app.go
index 93db0ade133ecdeb0d05594962d2134fc7b9eae4..de5f15db6b695f4031be52c1856637540d60838b 100644
--- a/ethereal/ui/ext_app.go
+++ b/ethereal/ui/ext_app.go
@@ -34,7 +34,7 @@ type ExtApplication struct {
 
 func NewExtApplication(container AppContainer, lib *UiLib) *ExtApplication {
 	app := &ExtApplication{
-		ethpub.NewPEthereum(lib.eth.StateManager(), lib.eth.BlockChain(), lib.eth.TxPool()),
+		ethpub.NewPEthereum(lib.eth),
 		make(chan ethutil.React, 1),
 		make(chan ethutil.React, 1),
 		make(chan bool),
diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go
index c1fda47f4c43ad27f77d594a75c0f438ad4fe561..3393b1101c585a2918536f4594b665f6f411fdba 100644
--- a/ethereal/ui/gui.go
+++ b/ethereal/ui/gui.go
@@ -53,7 +53,7 @@ func New(ethereum *eth.Ethereum) *Gui {
 		//ethereum.StateManager().WatchAddr(addr)
 	}
 
-	pub := ethpub.NewPEthereum(ethereum.StateManager(), ethereum.BlockChain(), ethereum.TxPool())
+	pub := ethpub.NewPEthereum(ethereum)
 
 	return &Gui{eth: ethereum, lib: lib, txDb: db, addr: addr, pub: pub}
 }