diff --git a/ethereum.go b/ethereum.go
index 8d62fa9f2e422cf9d549e71d779ab238f2b68ba7..fdfb59b09f71dac5530c5dccf2ebf50ebf1aa86d 100644
--- a/ethereum.go
+++ b/ethereum.go
@@ -23,8 +23,7 @@ import (
 
 const (
 	seedTextFileUri string = "http://www.ethereum.org/servers.poc3.txt"
-	//seedNodeAddress        = "54.76.56.74:30303"
-	seedNodeAddress = "localhost:30303"
+	seedNodeAddress        = "54.76.56.74:30303"
 )
 
 var ethlogger = ethlog.NewLogger("SERV")
diff --git a/ethvm/vm.go b/ethvm/vm.go
index cfba3820b30e020ade3de52a3aedba8f67744345..2a4fddbc5d0c5d9750f7520f2bc9e6d5a7c1bdd5 100644
--- a/ethvm/vm.go
+++ b/ethvm/vm.go
@@ -63,7 +63,7 @@ func New(env Environment) *Vm {
 		lt = LogTyDiff
 	}
 
-	return &Vm{env: env, logTy: lt, Recoverable: false, queue: list.New()}
+	return &Vm{env: env, logTy: lt, Recoverable: true, queue: list.New()}
 }
 
 func calcMemSize(off, l *big.Int) *big.Int {
@@ -200,7 +200,7 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
 
 			newMemSize = calcMemSize(stack.Peek(), stack.data[stack.Len()-2])
 		case CALLDATACOPY:
-			require(3)
+			require(2)
 
 			newMemSize = calcMemSize(stack.Peek(), stack.data[stack.Len()-3])
 		case CODECOPY:
@@ -210,7 +210,7 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
 		case EXTCODECOPY:
 			require(4)
 
-			newMemSize = calcMemSize(stack.data[stack.Len()-1], stack.data[stack.Len()-4])
+			newMemSize = calcMemSize(stack.data[stack.Len()-2], stack.data[stack.Len()-4])
 		case CALL, CALLSTATELESS:
 			require(7)
 			gas.Set(GasCall)
@@ -832,7 +832,7 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
 			}
 
 		case POST:
-			require(6)
+			require(5)
 
 			self.Endl()
 
@@ -872,6 +872,9 @@ func (self *Vm) RunClosure(closure *Closure) (ret []byte, err error) {
 		default:
 			vmlogger.Debugf("(pc) %-3v Invalid opcode %x\n", pc, op)
 
+			// XXX Really?
+			closure.UseGas(closure.Gas)
+
 			return closure.Return(nil), fmt.Errorf("Invalid opcode %x", op)
 		}