diff --git a/ethchain/vm.go b/ethchain/vm.go
index f832584303713432ec00dd9c9bc29e310b45cc92..b8ba72c7e0bcf1fe7bf92ed1920e5504f842aaf8 100644
--- a/ethchain/vm.go
+++ b/ethchain/vm.go
@@ -323,7 +323,8 @@ func (vm *Vm) RunClosure(closure *Closure, hook DebugHook) (ret []byte, err erro
 		case EQ:
 			require(2)
 			x, y := stack.Popn()
-			fmt.Printf("%x == %x\n", x, y)
+			vm.Printf(" %v == %v", y, x)
+
 			// x == y
 			if x.Cmp(y) == 0 {
 				stack.Push(ethutil.BigTrue)
@@ -343,15 +344,21 @@ func (vm *Vm) RunClosure(closure *Closure, hook DebugHook) (ret []byte, err erro
 		case AND:
 			require(2)
 			x, y := stack.Popn()
+			vm.Printf(" %v & %v", y, x)
+
 			stack.Push(base.And(y, x))
 		case OR:
 			require(2)
 			x, y := stack.Popn()
+			vm.Printf(" %v | %v", y, x)
+
 			stack.Push(base.Or(y, x))
 		case XOR:
 			require(2)
 			x, y := stack.Popn()
-			stack.Push(base.Xor(x, y))
+			vm.Printf(" %v ^ %v", y, x)
+
+			stack.Push(base.Xor(y, x))
 		case BYTE:
 			require(2)
 			val, th := stack.Popn()