diff --git a/impeller/entity/render_target_cache.cc b/impeller/entity/render_target_cache.cc
index a265517..89e1628 100644
--- a/impeller/entity/render_target_cache.cc
+++ b/impeller/entity/render_target_cache.cc
@@ -39,12 +39,16 @@
 
   for (auto& td : texture_data_) {
     const auto other_desc = td.texture->GetTextureDescriptor();
+    FML_DCHECK(td.texture != nullptr);
     if (!td.used_this_frame && desc == other_desc) {
       td.used_this_frame = true;
       return td.texture;
     }
   }
   auto result = RenderTargetAllocator::CreateTexture(desc);
+  if (result == nullptr) {
+    return result;
+  }
   texture_data_.push_back(
       TextureData{.used_this_frame = true, .texture = result});
   return result;
diff --git a/impeller/entity/render_target_cache_unittests.cc b/impeller/entity/render_target_cache_unittests.cc
index d8086b3..fc402f8 100644
--- a/impeller/entity/render_target_cache_unittests.cc
+++ b/impeller/entity/render_target_cache_unittests.cc
@@ -25,13 +25,21 @@
 
   std::shared_ptr<DeviceBuffer> OnCreateBuffer(
       const DeviceBufferDescriptor& desc) override {
+    if (should_fail) {
+      return nullptr;
+    }
     return std::make_shared<MockDeviceBuffer>(desc);
   };
 
   virtual std::shared_ptr<Texture> OnCreateTexture(
       const TextureDescriptor& desc) override {
+    if (should_fail) {
+      return nullptr;
+    }
     return std::make_shared<MockTexture>(desc);
   };
+
+  bool should_fail = false;
 };
 
 TEST(RenderTargetCacheTest, CachesUsedTexturesAcrossFrames) {
@@ -62,5 +70,20 @@
   ASSERT_EQ(render_target_cache.CachedTextureCount(), 1u);
 }
 
+TEST(RenderTargetCacheTest, DoesNotPersistFailedAllocations) {
+  auto allocator = std::make_shared<TestAllocator>();
+  auto render_target_cache = RenderTargetCache(allocator);
+  auto desc = TextureDescriptor{
+      .format = PixelFormat::kR8G8B8A8UNormInt,
+      .size = ISize(100, 100),
+      .usage = static_cast<TextureUsageMask>(TextureUsage::kRenderTarget)};
+
+  render_target_cache.Start();
+  allocator->should_fail = true;
+
+  ASSERT_EQ(render_target_cache.CreateTexture(desc), nullptr);
+  ASSERT_EQ(render_target_cache.CachedTextureCount(), 0u);
+}
+
 }  // namespace testing
 }  // namespace impeller
