diff --git a/ethereal/assets/qml/wallet.qml b/ethereal/assets/qml/wallet.qml
index f318ad173091b3bcdb7aa3e9a957970e540f10c7..b467982c48d6cde4d874907da81928e0887c17f7 100644
--- a/ethereal/assets/qml/wallet.qml
+++ b/ethereal/assets/qml/wallet.qml
@@ -643,12 +643,12 @@ ApplicationWindow {
 	}
 
 	function addBlock(block) {
-		var objtt = JSON.parse(block.transactions);
+		var txs = JSON.parse(block.transactions);
 		var amount = 0
-		if(objtt != null){
-			amount = objtt.length
+		if(txs != null){
+			amount = txs.length
 		}
-		blockModel.insert(0, {number: block.number, hash: block.hash, txs: objtt, txAmount: amount, time: block.time, prettyTime: convertToPretty(block.time)})
+		blockModel.insert(0, {number: block.number, hash: block.hash, txs: txs, txAmount: amount, time: block.time, prettyTime: convertToPretty(block.time)})
 	}
 
 	function addLog(str) {
diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go
index 64c739c15b9ecefd95f4016a835d575dcfed1c6f..7577de1fada1d6a905d1139d60d0dfd338856382 100644
--- a/ethereal/ui/gui.go
+++ b/ethereal/ui/gui.go
@@ -136,20 +136,13 @@ func (gui *Gui) createWindow(comp qml.Object) *qml.Window {
 
 	return gui.win
 }
-func (gui *Gui) recursiveAdd(sBlk []byte) {
+func (gui *Gui) setInitialBlockChain() {
+	sBlk := gui.eth.BlockChain().LastBlockHash
 	blk := gui.eth.BlockChain().GetBlock(sBlk)
-	if blk != nil {
-		//ethutil.Config.Log.Infoln("Adding block", blk)
+	for ; blk != nil; blk = gui.eth.BlockChain().GetBlock(sBlk) {
+		sBlk = blk.PrevHash
 		gui.processBlock(blk)
-		gui.recursiveAdd(blk.PrevHash)
-		return
-	} else {
-		//ethutil.Config.Log.Debugln("At Genesis, added all blocks to GUI")
 	}
-	return
-}
-func (gui *Gui) setInitialBlockChain() {
-	gui.recursiveAdd(gui.eth.BlockChain().LastBlockHash)
 }
 
 func (gui *Gui) readPreviousTransactions() {