diff --git a/cmd/rpcdaemon/filters/filters.go b/cmd/rpcdaemon/filters/filters.go
index 13c4f73b0a532c527ba0ddea7ea63b05beb347c1..d753daffbc6fc0566b7c5e1135f51fdf833b4e82 100644
--- a/cmd/rpcdaemon/filters/filters.go
+++ b/cmd/rpcdaemon/filters/filters.go
@@ -223,8 +223,11 @@ func (ff *Filters) subscribeToPendingBlocks(ctx context.Context, mining txpool.M
 
 func (ff *Filters) HandlePendingBlock(reply *txpool.OnPendingBlockReply) {
 	b := &types.Block{}
+	if len(reply.RplBlock) == 0 {
+		return
+	}
 	if err := rlp.Decode(bytes.NewReader(reply.RplBlock), b); err != nil {
-		log.Warn("OnNewTx rpc filters, unprocessable payload", "err", err)
+		log.Warn("OnNewPendingBlock rpc filters, unprocessable payload", "err", err)
 	}
 
 	ff.mu.Lock()
@@ -263,9 +266,12 @@ func (ff *Filters) subscribeToPendingLogs(ctx context.Context, mining txpool.Min
 }
 
 func (ff *Filters) HandlePendingLogs(reply *txpool.OnPendingLogsReply) {
+	if len(reply.RplLogs) == 0 {
+		return
+	}
 	l := []*types.Log{}
 	if err := rlp.Decode(bytes.NewReader(reply.RplLogs), &l); err != nil {
-		log.Warn("OnNewTx rpc filters, unprocessable payload", "err", err)
+		log.Warn("OnNewPendingLogs rpc filters, unprocessable payload", "err", err)
 	}
 
 	ff.mu.RLock()
@@ -339,7 +345,10 @@ func (ff *Filters) OnNewEvent(event *remote.SubscribeReply) {
 	case remote.Event_HEADER:
 		payload := event.Data
 		var header types.Header
+		if len(payload) == 0 {
+			return
 
+		}
 		err := rlp.Decode(bytes.NewReader(payload), &header)
 		if err != nil {
 			// ignoring what we can't unmarshal
@@ -386,6 +395,9 @@ func (ff *Filters) OnNewTx(reply *txpool.OnAddReply) {
 	txs := make([]types.Transaction, len(reply.RplTxs))
 	for i, rlpTx := range reply.RplTxs {
 		var decodeErr error
+		if len(rlpTx) == 0 {
+			continue
+		}
 		s := rlp.NewStream(bytes.NewReader(rlpTx), uint64(len(rlpTx)))
 		txs[i], decodeErr = types.DecodeTransaction(s)
 		if decodeErr != nil {
diff --git a/go.mod b/go.mod
index 91bb5f715018e3e291a7226a96150678beb4e699..ba06a94c53e0c3834ee8973433185c7d64f9bf96 100644
--- a/go.mod
+++ b/go.mod
@@ -36,7 +36,7 @@ require (
 	github.com/json-iterator/go v1.1.12
 	github.com/julienschmidt/httprouter v1.3.0
 	github.com/kevinburke/go-bindata v3.21.0+incompatible
-	github.com/ledgerwatch/erigon-lib v0.0.0-20211106103131-8c7f3a4cf4b1
+	github.com/ledgerwatch/erigon-lib v0.0.0-20211107020730-8bf610171cf6
 	github.com/ledgerwatch/log/v3 v3.4.0
 	github.com/ledgerwatch/secp256k1 v1.0.0
 	github.com/logrusorgru/aurora/v3 v3.0.0
diff --git a/go.sum b/go.sum
index 525ca717f6f9b34539c345112ea497caa44980f2..025e52dd97c50b3ee4ab265272ea94a2384524e4 100644
--- a/go.sum
+++ b/go.sum
@@ -497,8 +497,8 @@ github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758 h1:0D5M2HQSGD3P
 github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
 github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
 github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8=
-github.com/ledgerwatch/erigon-lib v0.0.0-20211106103131-8c7f3a4cf4b1 h1:UNN0EjYfZ1lDi6jj5BQDzlCabi3/e/aym5tvOltPqu4=
-github.com/ledgerwatch/erigon-lib v0.0.0-20211106103131-8c7f3a4cf4b1/go.mod h1:CuEZROm43MykZT5CjCj02jw0FOwaDl8Nh+PZkTEGopg=
+github.com/ledgerwatch/erigon-lib v0.0.0-20211107020730-8bf610171cf6 h1:uDjCJqjTFg2dI+AjPon7kcD5vC/QO0toPt+DknREE98=
+github.com/ledgerwatch/erigon-lib v0.0.0-20211107020730-8bf610171cf6/go.mod h1:CuEZROm43MykZT5CjCj02jw0FOwaDl8Nh+PZkTEGopg=
 github.com/ledgerwatch/log/v3 v3.4.0 h1:SEIOcv5a2zkG3PmoT5jeTU9m/0nEUv0BJS5bzsjwKCI=
 github.com/ledgerwatch/log/v3 v3.4.0/go.mod h1:VXcz6Ssn6XEeU92dCMc39/g1F0OYAjw1Mt+dGP5DjXY=
 github.com/ledgerwatch/secp256k1 v1.0.0 h1:Usvz87YoTG0uePIV8woOof5cQnLXGYa162rFf3YnwaQ=