diff --git a/objectstore/BackendRados.cpp b/objectstore/BackendRados.cpp
index 42443a9033611b8408f9587ce9831a2bc514af60..3a50e9ec2988bd5c9a0c9bb672239926240a5f1d 100644
--- a/objectstore/BackendRados.cpp
+++ b/objectstore/BackendRados.cpp
@@ -791,6 +791,9 @@ void BackendRados::AsyncLockfreeFetcher::fetchCallback(librados::completion_t co
     if (rados_aio_get_return_value(completion)<0) {
       cta::exception::Errnum errnum(-rados_aio_get_return_value(completion),
           std::string("In BackendRados::AsyncLockfreeFetcher::fetchCallback(): could not read object: ") + au.m_name);
+      if (errnum.errorNumber() == ENOENT) {
+        throw Backend::NoSuchObject(errnum.getMessageValue());
+      }
       throw Backend::CouldNotFetch(errnum.getMessageValue());
     }
     // The data is in the buffer list.