diff --git a/ethchain/block.go b/ethchain/block.go
index 7ad9984be16d2c68302a3b279ebc6ee93052e8c0..472ae134ac5e201c1a384738c8eda470f3994fdb 100644
--- a/ethchain/block.go
+++ b/ethchain/block.go
@@ -221,8 +221,9 @@ func (block *Block) Undo() {
 
 func (block *Block) MakeContract(tx *Transaction) {
 	contract := MakeContract(tx, NewState(block.state))
-
-	block.contractStates[string(tx.Hash()[12:])] = contract.state
+	if contract != nil {
+		block.contractStates[string(tx.Hash()[12:])] = contract.state
+	}
 }
 
 /////// Block Encoding
diff --git a/ethchain/contract.go b/ethchain/contract.go
index dbcbb3697c11c759f08ff9a8df9b60c8a791c496..14abb05d1622fca2f92396a396db8aece7728618 100644
--- a/ethchain/contract.go
+++ b/ethchain/contract.go
@@ -1,6 +1,7 @@
 package ethchain
 
 import (
+	"fmt"
 	"github.com/ethereum/eth-go/ethutil"
 	"math/big"
 )
@@ -65,6 +66,8 @@ func MakeContract(tx *Transaction, state *State) *Contract {
 		state.trie.Update(string(addr), string(contract.RlpEncode()))
 
 		return contract
+	} else {
+		fmt.Println("NO CONTRACT")
 	}
 
 	return nil