diff --git a/ethchain/state_manager.go b/ethchain/state_manager.go
index 59cd8eec608c04f615e233a82bf27886d4ad087f..36ba1731c18432e5638048c05f0f4447b51cc918 100644
--- a/ethchain/state_manager.go
+++ b/ethchain/state_manager.go
@@ -281,10 +281,12 @@ func (sm *StateManager) ValidateBlock(block *Block) error {
 		return ValidationError("Block timestamp less then prev block %v", diff)
 	}
 
+	/* XXX
 	// New blocks must be within the 15 minute range of the last block.
 	if diff > int64(15*time.Minute) {
 		return ValidationError("Block is too far in the future of last block (> 15 minutes)")
 	}
+	*/
 
 	// Verify the nonce of the block. Return an error if it's not valid
 	if !sm.Pow.Verify(block.HashNoNonce(), block.Difficulty, block.Nonce) {
diff --git a/ethchain/state_transition.go b/ethchain/state_transition.go
index 8757246a013ae29fcc9210db8ac6e2a60a85f557..5f4588e482a5b40282c6fe1ce8fbee45a652ca34 100644
--- a/ethchain/state_transition.go
+++ b/ethchain/state_transition.go
@@ -219,25 +219,23 @@ func (self *StateTransition) Transition() (ret []byte, err error) {
 		// and use the return value as the
 		// script section for the state object.
 		self.data = nil
-		ethutil.Config.Log.Println(ethutil.LogLevelSystem, receiver.Init())
 
-		code, err := self.Eval(receiver.Init(), receiver)
-		if err != nil {
+		code, err, deepErr := self.Eval(receiver.Init(), receiver)
+		if err != nil || deepErr {
 			self.state.ResetStateObject(receiver)
 
-			return nil, fmt.Errorf("Error during init script run %v", err)
+			return nil, fmt.Errorf("Error during init script run %v (deepErr = %v)", err, deepErr)
 		}
 
 		receiver.script = code
 	} else {
 		if len(receiver.Script()) > 0 {
-			ethutil.Config.Log.Println(ethutil.LogLevelSystem, receiver.Script())
-
-			ret, err = self.Eval(receiver.Script(), receiver)
+			var deepErr bool
+			ret, err, deepErr = self.Eval(receiver.Script(), receiver)
 			if err != nil {
 				self.state.ResetStateObject(receiver)
 
-				return nil, fmt.Errorf("Error during code execution %v", err)
+				return nil, fmt.Errorf("Error during code execution %v (deepErr = %v)", err, deepErr)
 			}
 		}
 	}
@@ -262,7 +260,7 @@ func (self *StateTransition) transferValue(sender, receiver *StateObject) error
 	return nil
 }
 
-func (self *StateTransition) Eval(script []byte, context *StateObject) (ret []byte, err error) {
+func (self *StateTransition) Eval(script []byte, context *StateObject) (ret []byte, err error, deepErr bool) {
 	var (
 		block     = self.block
 		initiator = self.Sender()
@@ -282,6 +280,7 @@ func (self *StateTransition) Eval(script []byte, context *StateObject) (ret []by
 	})
 	vm.Verbose = true
 	ret, _, err = closure.Call(vm, self.data, nil)
+	deepErr = vm.err != nil
 
 	return
 }