diff --git a/src/rdo.rs b/src/rdo.rs
index cab81593a999057392110e7feb16a0d5bf4d038f..671bfd2f98f999f96bb269b28550a2085b13e062 100755
--- a/src/rdo.rs
+++ b/src/rdo.rs
@@ -416,7 +416,9 @@ pub fn rdo_mode_decision(
   };
 
   mode_set.iter().for_each(|luma_mode| luma_rdo(luma_mode, fs, cw, &mut best));
-  intra_mode_set.iter().for_each(|luma_mode| luma_rdo(luma_mode, fs, cw, &mut best));
+  if !best.skip {
+    intra_mode_set.iter().for_each(|luma_mode| luma_rdo(luma_mode, fs, cw, &mut best));
+  }
 
   if best.mode_luma.is_intra() && is_chroma_block && bsize.cfl_allowed() {
     let chroma_mode = PredictionMode::UV_CFL_PRED;