diff --git a/compositor/DrmDisplayCompositor.cpp b/compositor/DrmDisplayCompositor.cpp
index 5be2941..e588b7f 100644
--- a/compositor/DrmDisplayCompositor.cpp
+++ b/compositor/DrmDisplayCompositor.cpp
@@ -58,11 +58,6 @@
     args.active = true;
   }
 
-  if (args.clear_active_composition && args.composition) {
-    ALOGE("%s: Invalid arguments", __func__);
-    return -EINVAL;
-  }
-
   auto new_frame_state = NewFrameState();
 
   auto *drm = pipe_->device;
@@ -126,12 +121,7 @@
     }
   }
 
-  if (args.clear_active_composition) {
-    new_frame_state.used_framebuffers.clear();
-    new_frame_state.used_planes.clear();
-  }
-
-  if (args.clear_active_composition || args.composition) {
+  if (args.composition) {
     for (auto &plane : unused_planes) {
       if (plane->Get()->AtomicDisablePlane(*pset) != 0) {
         return -EINVAL;
@@ -176,7 +166,8 @@
             pipe_->connector->Get()->GetName().c_str());
       // Disable the hw used by the last active composition. This allows us to
       // signal the release fences from that composition to avoid hanging.
-      AtomicCommitArgs cl_args = {.clear_active_composition = true};
+      AtomicCommitArgs cl_args{};
+      cl_args.composition = std::make_shared<DrmKmsPlan>();
       if (CommitFrame(cl_args)) {
         ALOGE("Failed to clean-up active composition for pipeline %s",
               pipe_->connector->Get()->GetName().c_str());
diff --git a/compositor/DrmDisplayCompositor.h b/compositor/DrmDisplayCompositor.h
index b556268..7e39eef 100644
--- a/compositor/DrmDisplayCompositor.h
+++ b/compositor/DrmDisplayCompositor.h
@@ -39,15 +39,13 @@
   std::optional<DrmMode> display_mode;
   std::optional<bool> active;
   std::shared_ptr<DrmKmsPlan> composition;
-  /* 'clear' should never be used together with 'composition' */
-  bool clear_active_composition = false;
 
   /* out */
   UniqueFd out_fence;
 
   /* helpers */
   auto HasInputs() -> bool {
-    return display_mode || active || composition || clear_active_composition;
+    return display_mode || active || composition;
   }
 };
 
diff --git a/hwc2_device/HwcDisplay.cpp b/hwc2_device/HwcDisplay.cpp
index f778e22..e02019d 100644
--- a/hwc2_device/HwcDisplay.cpp
+++ b/hwc2_device/HwcDisplay.cpp
@@ -120,16 +120,6 @@
   main_lock.lock();
 }
 
-void HwcDisplay::ClearDisplay() {
-  if (IsInHeadlessMode()) {
-    ALOGE("%s: Headless mode, should never reach here: ", __func__);
-    return;
-  }
-
-  AtomicCommitArgs a_args = {.clear_active_composition = true};
-  pipeline_->compositor->ExecuteAtomicCommit(a_args);
-}
-
 HWC2::Error HwcDisplay::Init() {
   int ret = vsync_worker_.Init(pipeline_, [this](int64_t timestamp) {
     const std::lock_guard<std::mutex> lock(hwc2_->GetResMan().GetMainLock());
