diff --git a/packages/autopeering/server/server.go b/packages/autopeering/server/server.go
index 50506987e8a9f8918a8ab6edd74fd84c7f285628..dcfcb47257ffd7ade95d43dcce1f1217f52de0f5 100644
--- a/packages/autopeering/server/server.go
+++ b/packages/autopeering/server/server.go
@@ -274,8 +274,8 @@ func (s *Server) readLoop() {
 
 		pkt := new(pb.Packet)
 		if err := proto.Unmarshal(b, pkt); err != nil {
-			s.log.Debugw("packet error", "err", err)
-			return
+			s.log.Debugw("bad packet", "from", fromAddr, "err", err)
+			continue
 		}
 		if err := s.handlePacket(pkt, fromAddr); err != nil {
 			s.log.Debugw("failed to handle packet", "from", fromAddr, "err", err)