diff --git a/av1/encoder/palette.c b/av1/encoder/palette.c
index 838bf90..79a2fa5 100644
--- a/av1/encoder/palette.c
+++ b/av1/encoder/palette.c
@@ -561,7 +561,7 @@
   const SequenceHeader *const seq_params = cpi->common.seq_params;
   const int is_hbd = seq_params->use_highbitdepth;
   const int bit_depth = seq_params->bit_depth;
-  const int discount_color_cost = cpi->sf.rt_sf.use_nonrd_pick_mode;
+  const int discount_color_cost = cpi->sf.rt_sf.discount_color_cost;
   int unused;
 
   int count_buf[1 << 12];  // Maximum (1 << 12) color levels.
diff --git a/av1/encoder/speed_features.c b/av1/encoder/speed_features.c
index bfee784..609bb19 100644
--- a/av1/encoder/speed_features.c
+++ b/av1/encoder/speed_features.c
@@ -358,6 +358,7 @@
   sf->tx_sf.tx_type_search.use_reduced_intra_txset = 1;
 
   sf->rt_sf.use_nonrd_pick_mode = 0;
+  sf->rt_sf.discount_color_cost = 0;
   sf->rt_sf.use_real_time_ref_set = 0;
 
   if (cpi->twopass_frame.fr_content_type == FC_GRAPHICS_ANIMATION ||
@@ -554,10 +555,11 @@
   }
 
   if (speed >= 8) {
-    sf->rt_sf.hybrid_intra_pickmode = 1;
+    sf->rt_sf.hybrid_intra_pickmode = 2;
     sf->rt_sf.use_nonrd_pick_mode = 1;
     sf->rt_sf.nonrd_check_partition_merge_mode = 1;
     sf->rt_sf.var_part_split_threshold_shift = 8;
+    sf->rt_sf.prune_palette_search_nonrd = 1;
     // Set mask for intra modes.
     for (int i = 0; i < BLOCK_SIZES; ++i)
       if (i >= BLOCK_32X32)
@@ -1061,6 +1063,7 @@
   sf->tpl_sf.search_method = NSTEP_8PT;
 
   sf->rt_sf.use_nonrd_pick_mode = 0;
+  sf->rt_sf.discount_color_cost = 0;
   sf->rt_sf.use_real_time_ref_set = 0;
 
   if (cpi->twopass_frame.fr_content_type == FC_GRAPHICS_ANIMATION ||
@@ -2001,6 +2004,7 @@
     sf->rt_sf.use_nonrd_altref_frame =
         (cpi->svc.number_spatial_layers > 1) ? 0 : 1;
     sf->rt_sf.use_nonrd_pick_mode = 1;
+    sf->rt_sf.discount_color_cost = 1;
     sf->rt_sf.nonrd_check_partition_merge_mode = 3;
     sf->rt_sf.skip_intra_pred = 1;
     sf->rt_sf.source_metrics_sb_nonrd = 1;
@@ -2369,6 +2373,7 @@
   rt_sf->mode_search_skip_flags = 0;
   rt_sf->nonrd_prune_ref_frame_search = 0;
   rt_sf->use_nonrd_pick_mode = 0;
+  rt_sf->discount_color_cost = 0;
   rt_sf->use_nonrd_altref_frame = 0;
   rt_sf->use_comp_ref_nonrd = 0;
   rt_sf->use_real_time_ref_set = 0;
diff --git a/av1/encoder/speed_features.h b/av1/encoder/speed_features.h
index 1b455d4..1c1831a 100644
--- a/av1/encoder/speed_features.h
+++ b/av1/encoder/speed_features.h
@@ -1633,6 +1633,11 @@
   // This flag controls the use of non-RD mode decision.
   int use_nonrd_pick_mode;
 
+  // Flag that controls discounting for color map cost during palette search.
+  // This saves about 5% of CPU and in non-RD speeds delivers better results
+  // across rtc_screen set (on speed 10 overall BDRate growth is 13%)
+  int discount_color_cost;
+
   // Use ALTREF frame in non-RD mode decision.
   int use_nonrd_altref_frame;
 
