diff --git a/swarm/storage/ldbstore.go b/swarm/storage/ldbstore.go
index 766a9e031b..fd5ec9e30a 100644
--- a/swarm/storage/ldbstore.go
+++ b/swarm/storage/ldbstore.go
@@ -1005,7 +1005,10 @@ func (s *LDBStore) get(addr Address) (chunk Chunk, err error) {
 			if err != nil {
 				log.Trace("ldbstore.get chunk found but could not be accessed", "key", addr, "err", err)
 				s.deleteNow(index, getIndexKey(addr), s.po(addr))
-				return
+				if err == leveldb.ErrNotFound {
+					return nil, ErrChunkNotFound
+				}
+				return nil, err
 			}
 		}
 
diff --git a/swarm/storage/netstore.go b/swarm/storage/netstore.go
index 9e32578a8c..cb6c1c9cf7 100644
--- a/swarm/storage/netstore.go
+++ b/swarm/storage/netstore.go
@@ -29,6 +29,7 @@ import (
 	"github.com/ethereum/go-ethereum/swarm/spancontext"
 	"github.com/opentracing/opentracing-go"
 	olog "github.com/opentracing/opentracing-go/log"
+	"github.com/syndtr/goleveldb/leveldb"
 
 	lru "github.com/hashicorp/golang-lru"
 )
@@ -167,7 +168,8 @@ func (n *NetStore) get(ctx context.Context, ref Address) (Chunk, func(context.Co
 
 	chunk, err := n.store.Get(ctx, ref)
 	if err != nil {
-		if err != ErrChunkNotFound {
+		// TODO: Fix comparison - we should be comparing against leveldb.ErrNotFound, this error should be wrapped.
+		if err != ErrChunkNotFound && err != leveldb.ErrNotFound {
 			log.Debug("Received error from LocalStore other than ErrNotFound", "err", err)
 		}
 		// The chunk is not available in the LocalStore, let's get the fetcher for it, or create a new one