diff --git a/drmhwctwo.cpp b/drmhwctwo.cpp
index 95c93de..814d8f7 100644
--- a/drmhwctwo.cpp
+++ b/drmhwctwo.cpp
@@ -273,6 +273,9 @@
 
 HWC2::Error DrmHwcTwo::HwcDisplay::DestroyLayer(hwc2_layer_t layer) {
   supported(__func__);
+  if (!get_layer(layer))
+    return HWC2::Error::BadLayer;
+
   layers_.erase(layer);
   return HWC2::Error::None;
 }
diff --git a/include/drmhwctwo.h b/include/drmhwctwo.h
index 1fdf401..8c75fc0 100644
--- a/include/drmhwctwo.h
+++ b/include/drmhwctwo.h
@@ -183,8 +183,11 @@
     HWC2::Error SetPowerMode(int32_t mode);
     HWC2::Error SetVsyncEnabled(int32_t enabled);
     HWC2::Error ValidateDisplay(uint32_t *num_types, uint32_t *num_requests);
-    HwcLayer &get_layer(hwc2_layer_t layer) {
-      return layers_.at(layer);
+    HwcLayer *get_layer(hwc2_layer_t layer) {
+      auto it = layers_.find(layer);
+      if (it == layers_.end())
+        return nullptr;
+      return &it->second;
     }
 
    private:
@@ -268,8 +271,11 @@
     if (!display)
       return static_cast<int32_t>(HWC2::Error::BadDisplay);
 
-    HwcLayer &layer = display->get_layer(layer_handle);
-    return static_cast<int32_t>((layer.*func)(std::forward<Args>(args)...));
+    HwcLayer *layer = display->get_layer(layer_handle);
+    if (!layer)
+      return static_cast<int32_t>(HWC2::Error::BadLayer);
+
+    return static_cast<int32_t>((layer->*func)(std::forward<Args>(args)...));
   }
 
   // hwc2_device_t hooks
