diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go
index 396447a81537414279ebadf28aeaf8f95114aa9c..d6d65cc0b5c4457832e0db401715b2985b9d72c3 100644
--- a/ethereal/ui/gui.go
+++ b/ethereal/ui/gui.go
@@ -158,8 +158,29 @@ func (gui *Gui) processBlock(block *ethchain.Block) {
 	gui.win.Root().Call("addBlock", ethpub.NewPBlock(block))
 }
 
+func (gui *Gui) setWalletValue(amount, unconfirmedFunds *big.Int) {
+	var str string
+	if unconfirmedFunds != nil {
+		pos := "+"
+		if unconfirmedFunds.Cmp(big.NewInt(0)) >= 0 {
+			pos = "-"
+		}
+		val := ethutil.CurrencyToString(new(big.Int).Abs(ethutil.BigCopy(unconfirmedFunds)))
+		str = fmt.Sprintf("%v (%s %v)", ethutil.CurrencyToString(amount), pos, val)
+	} else {
+		str = fmt.Sprintf("%v", ethutil.CurrencyToString(amount))
+	}
+
+	gui.win.Root().Call("setWalletValue", str)
+}
+
 // Simple go routine function that updates the list of peers in the GUI
 func (gui *Gui) update() {
+	blockChan := make(chan ethutil.React, 1)
+	reactor := gui.eth.Reactor()
+
+	reactor.Subscribe("newBlock", blockChan)
+
 	txChan := make(chan ethchain.TxMsg, 1)
 	gui.eth.TxPool().Subscribe(txChan)
 
@@ -170,6 +191,12 @@ func (gui *Gui) update() {
 
 	for {
 		select {
+		case b := <-blockChan:
+			block := b.Resource.(*ethchain.Block)
+			if bytes.Compare(block.Coinbase, gui.addr) == 0 {
+				gui.setWalletValue(gui.eth.StateManager().ProcState().GetAccount(gui.addr).Amount, nil)
+			}
+
 		case txMsg := <-txChan:
 			tx := txMsg.Tx
 
@@ -191,14 +218,7 @@ func (gui *Gui) update() {
 					unconfirmedFunds.Add(unconfirmedFunds, tx.Value)
 				}
 
-				pos := "+"
-				if unconfirmedFunds.Cmp(big.NewInt(0)) >= 0 {
-					pos = "-"
-				}
-				val := ethutil.CurrencyToString(new(big.Int).Abs(ethutil.BigCopy(unconfirmedFunds)))
-				str := fmt.Sprintf("%v (%s %v)", ethutil.CurrencyToString(object.Amount), pos, val)
-
-				gui.win.Root().Call("setWalletValue", str)
+				gui.setWalletValue(object.Amount, unconfirmedFunds)
 			} else {
 				object := state.GetAccount(gui.addr)
 				if bytes.Compare(tx.Sender(), gui.addr) == 0 {
@@ -207,7 +227,7 @@ func (gui *Gui) update() {
 					object.AddAmount(tx.Value)
 				}
 
-				gui.win.Root().Call("setWalletValue", fmt.Sprintf("%v", ethutil.CurrencyToString(object.Amount)))
+				gui.setWalletValue(object.Amount, nil)
 
 				state.SetStateObject(object)
 			}
diff --git a/ethereum/ethereum.go b/ethereum/ethereum.go
index b5460ac691b5639675db92c6a6d50c1a0512b7ee..c4d419d70e63ab38b94c27b4f6fee60a9f7e11c8 100644
--- a/ethereum/ethereum.go
+++ b/ethereum/ethereum.go
@@ -66,10 +66,9 @@ func main() {
 		log.SetOutput(logfile)
 		logSys = log.New(logfile, "", flags)
 		logger.AddLogSystem(logSys)
-	}
-	/*else {
+	} else {
 		logSys = log.New(os.Stdout, "", flags)
-	}*/
+	}
 
 	ethchain.InitFees()