diff --git a/video/full_stack_tests.cc b/video/full_stack_tests.cc
index b533c7b..aafae05 100644
--- a/video/full_stack_tests.cc
+++ b/video/full_stack_tests.cc
@@ -698,6 +698,57 @@
   fixture->RunWithAnalyzer(conf_motion_hd);
 }
 
+TEST(FullStackTest, Screenshare_Slides_Simulcast_AV1) {
+  auto fixture = CreateVideoQualityTestFixture();
+  ParamsWithLogging screenshare;
+  screenshare.analyzer = {.test_label = "screenshare_slides_simulcast_AV1",
+                          .test_durations_secs = kFullStackTestDurationSecs};
+  screenshare.call.send_side_bwe = true;
+  screenshare.screenshare[0] = {.enabled = true};
+  screenshare.video[0] = {.enabled = true,
+                          .width = 1850,
+                          .height = 1110,
+                          .fps = 30,
+                          .min_bitrate_bps = 0,
+                          .target_bitrate_bps = 0,
+                          .max_bitrate_bps = 2500000,
+                          .codec = "AV1",
+                          .num_temporal_layers = 2};
+
+  // Set `min_bitrate_bps` and `target_bitrate_bps` to zero to use WebRTC
+  // defaults.
+  VideoQualityTest::Params screenshare_params_low;
+  screenshare_params_low.video[0] = {.enabled = true,
+                                     .width = 1850,
+                                     .height = 1110,
+                                     .fps = 5,
+                                     .min_bitrate_bps = 0,
+                                     .target_bitrate_bps = 0,
+                                     .max_bitrate_bps = 420'000,
+                                     .codec = "AV1",
+                                     .num_temporal_layers = 2};
+
+  VideoQualityTest::Params screenshare_params_high;
+  screenshare_params_high.video[0] = {.enabled = true,
+                                      .width = 1850,
+                                      .height = 1110,
+                                      .fps = 30,
+                                      .min_bitrate_bps = 0,
+                                      .target_bitrate_bps = 0,
+                                      .max_bitrate_bps = 2'500'000,
+                                      .codec = "AV1",
+                                      .num_temporal_layers = 2};
+
+  std::vector<VideoStream> streams = {
+      VideoQualityTest::DefaultVideoStream(screenshare_params_low, 0),
+      VideoQualityTest::DefaultVideoStream(screenshare_params_high, 0)};
+  screenshare.ss[0] = {
+      .streams = streams,
+      .selected_stream = 1,
+  };
+  fixture->RunWithAnalyzer(screenshare);
+}
+
 #if defined(RTC_ENABLE_VP9)
 TEST(FullStackTest, Conference_Motion_Hd_2000kbps_100ms_32pkts_Queue_Vp9) {
   auto fixture = CreateVideoQualityTestFixture();
