diff --git a/ethchain/transaction.go b/ethchain/transaction.go
index 9044f586ed8a7fcc53a9c016eb2ff9eca22e5eb1..34ab357a171521806caf7e83fff30f978a1f1eb3 100644
--- a/ethchain/transaction.go
+++ b/ethchain/transaction.go
@@ -10,6 +10,10 @@ import (
 
 var ContractAddr = []byte{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
 
+func IsContractAddr(addr []byte) bool {
+	return bytes.Compare(addr, ContractAddr) == 0
+}
+
 type Transaction struct {
 	Nonce     uint64
 	Recipient []byte
@@ -149,7 +153,7 @@ func (tx *Transaction) RlpValueDecode(decoder *ethutil.Value) {
 	tx.r = decoder.Get(7).Bytes()
 	tx.s = decoder.Get(8).Bytes()
 
-	if bytes.Compare(tx.Recipient, ContractAddr) == 0 {
+	if IsContractAddr(tx.Recipient) {
 		tx.contractCreation = true
 	}
 }