diff --git a/ethereum.go b/ethereum.go
index cc3f1695b320abcd810c860d4c4c20b507c06c64..56580036148570ba5c4bc37e496f68ba5404f15a 100644
--- a/ethereum.go
+++ b/ethereum.go
@@ -58,8 +58,8 @@ type Ethereum struct {
 }
 
 func New(caps Caps, usePnp bool) (*Ethereum, error) {
-	db, err := ethdb.NewLDBDatabase()
-	//db, err := ethdb.NewMemDatabase()
+	//db, err := ethdb.NewLDBDatabase()
+	db, err := ethdb.NewMemDatabase()
 	if err != nil {
 		return nil, err
 	}
diff --git a/peer.go b/peer.go
index 04dd24e93dd328341ef308fcba7ddae524c53045..c592f275f2ef7047fb2d951572926bd176132f7b 100644
--- a/peer.go
+++ b/peer.go
@@ -1,7 +1,7 @@
 package eth
 
 import (
-	"bytes"
+	_ "bytes"
 	"fmt"
 	"github.com/ethereum/ethchain-go"
 	"github.com/ethereum/ethutil-go"
@@ -139,8 +139,6 @@ func NewPeer(conn net.Conn, ethereum *Ethereum, inbound bool) *Peer {
 }
 
 func NewOutboundPeer(addr string, ethereum *Ethereum, caps Caps) *Peer {
-	data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
-	pubkey := ethutil.NewValueFromBytes(data).Get(2).Bytes()
 
 	p := &Peer{
 		outputQueue: make(chan *ethwire.Msg, outputBufferSize),
@@ -150,7 +148,6 @@ func NewOutboundPeer(addr string, ethereum *Ethereum, caps Caps) *Peer {
 		connected:   0,
 		disconnect:  0,
 		caps:        caps,
-		pubkey:      pubkey,
 	}
 
 	// Set up the connection in another goroutine so we don't block the main thread
@@ -283,7 +280,6 @@ func (p *Peer) HandleInbound() {
 				msg.Data = msg.Data
 				var block *ethchain.Block
 				for i := msg.Data.Length() - 1; i >= 0; i-- {
-					// FIXME
 					block = ethchain.NewBlockFromRlpValue(ethutil.NewValue(msg.Data.Get(i).AsRaw()))
 					err := p.ethereum.BlockManager.ProcessBlock(block)
 
@@ -440,9 +436,12 @@ func (p *Peer) Stop() {
 }
 
 func (p *Peer) pushHandshake() error {
+	data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
+	pubkey := ethutil.NewValueFromBytes(data).Get(2).Bytes()
+
 	clientId := fmt.Sprintf("/Ethereum(G) v%s/%s", ethutil.Config.Ver, runtime.GOOS)
 	msg := ethwire.NewMessage(ethwire.MsgHandshakeTy, []interface{}{
-		uint32(3), uint32(0), clientId, byte(p.caps), p.port, p.pubkey,
+		uint32(3), uint32(0), clientId, byte(p.caps), p.port, pubkey,
 	})
 
 	p.QueueMessage(msg)
@@ -485,13 +484,15 @@ func (p *Peer) handleHandshake(msg *ethwire.Msg) {
 		p.port = uint16(c.Get(4).AsUint())
 
 		// Self connect detection
-		data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
-		pubkey := ethutil.NewValueFromBytes(data).Get(2).Bytes()
-		if bytes.Compare(pubkey, p.pubkey) == 0 {
-			p.Stop()
+		/*
+			data, _ := ethutil.Config.Db.Get([]byte("KeyRing"))
+			pubkey := ethutil.NewValueFromBytes(data).Get(2).Bytes()
+			if bytes.Compare(pubkey, p.pubkey) == 0 {
+				p.Stop()
 
-			return
-		}
+				return
+			}
+		*/
 
 		istr = "inbound"
 	} else {