diff --git a/src/storage/CompositeStorage.cxx b/src/storage/CompositeStorage.cxx
index 9e0a45f42..ba04c8f45 100644
--- a/src/storage/CompositeStorage.cxx
+++ b/src/storage/CompositeStorage.cxx
@@ -286,7 +286,8 @@ CompositeStorage::GetInfo(const char *uri, bool follow, FileInfo &info,
 		return true;
 	}
 
-	error.Set(composite_domain, "No such directory");
+	if (!error.IsDefined())
+		error.Set(composite_domain, "No such directory");
 	return false;
 }