diff --git a/modules/rtp_rtcp/source/video_rtp_depacketizer_h265.cc b/modules/rtp_rtcp/source/video_rtp_depacketizer_h265.cc
index b54df7c..d2646e8 100644
--- a/modules/rtp_rtcp/source/video_rtp_depacketizer_h265.cc
+++ b/modules/rtp_rtcp/source/video_rtp_depacketizer_h265.cc
@@ -202,9 +202,8 @@
         rtp_payload.size() - kH265NalHeaderSizeBytes - kH265FuHeaderSizeBytes);
   }
 
-  if (original_nal_type == H265::NaluType::kIdrWRadl ||
-      original_nal_type == H265::NaluType::kIdrNLp ||
-      original_nal_type == H265::NaluType::kCra) {
+  if (original_nal_type >= H265::NaluType::kBlaWLp &&
+      original_nal_type <= H265::NaluType::kRsvIrapVcl23) {
     parsed_payload->video_header.frame_type = VideoFrameType::kVideoFrameKey;
   } else {
     parsed_payload->video_header.frame_type = VideoFrameType::kVideoFrameDelta;
diff --git a/modules/rtp_rtcp/source/video_rtp_depacketizer_h265_unittest.cc b/modules/rtp_rtcp/source/video_rtp_depacketizer_h265_unittest.cc
index a630671..c94e0d5 100644
--- a/modules/rtp_rtcp/source/video_rtp_depacketizer_h265_unittest.cc
+++ b/modules/rtp_rtcp/source/video_rtp_depacketizer_h265_unittest.cc
@@ -297,15 +297,15 @@
                                 0x08, 0x4a, 0x31, 0x11, 0x15, 0xe5, 0xc0};
 
   uint8_t packet2[] = {
-      0x62, 0x02,       // F=0, Type=49 (kH265Fu).
-      H265::kIdrWRadl,  // FU header.
-      0x02              // Payload.
+      0x62, 0x02,     // F=0, Type=49 (kH265Fu).
+      H265::kBlaWLp,  // FU header.
+      0x02            // Payload.
   };
   const uint8_t kExpected2[] = {0x02};
 
   uint8_t packet3[] = {
       0x62, 0x02,  // F=0, Type=49 (kH265Fu).
-      0x33,        // FU header kH265EBitMask | H265::kIdrWRadl.
+      0x53,        // FU header kH265EBitMask | H265::kIdrWRadl.
       0x03         // Payload.
   };
   const uint8_t kExpected3[] = {0x03};
@@ -330,6 +330,7 @@
                                  parsed2->video_payload.size()),
               ElementsAreArray(kExpected2));
   EXPECT_FALSE(parsed2->video_header.is_first_packet_in_frame);
+  EXPECT_EQ(parsed2->video_header.frame_type, VideoFrameType::kVideoFrameKey);
   EXPECT_EQ(parsed2->video_header.codec, kVideoCodecH265);
 
   auto parsed3 = depacketizer.Parse(rtc::CopyOnWriteBuffer(packet3));
@@ -337,6 +338,7 @@
                                  parsed3->video_payload.size()),
               ElementsAreArray(kExpected3));
   EXPECT_FALSE(parsed3->video_header.is_first_packet_in_frame);
+  EXPECT_EQ(parsed3->video_header.frame_type, VideoFrameType::kVideoFrameKey);
   EXPECT_EQ(parsed3->video_header.codec, kVideoCodecH265);
 }
 
