diff --git a/third_party/libopenjpeg/0049-check_after_parsing.patch b/third_party/libopenjpeg/0049-check_after_parsing.patch
deleted file mode 100644
index 8448324..0000000
--- a/third_party/libopenjpeg/0049-check_after_parsing.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit f809b80c67717c152a5ad30bf06774f00da4fd2d
-Author: Sebastian Rasmussen <sebras@gmail.com>
-Date:   Thu Jan 16 02:13:43 2025 +0100
-
-    opj_jp2_read_header: Check for error after parsing header.
-    
-    Consider the case where the caller has not set the p_image
-    pointer to NULL before calling opj_read_header().
-    
-    If opj_j2k_read_header_procedure() fails while obtaining the rest
-    of the marker segment when calling opj_stream_read_data() because
-    the data stream is too short, then opj_j2k_read_header() will
-    never have the chance to initialize p_image, leaving it
-    uninitialized.
-    
-    opj_jp2_read_header() will check the p_image value whether
-    opj_j2k_read_header() suceeded or failed. This may be detected as
-    an error in valgrind or ASAN.
-    
-    The fix is to check whether opj_j2k_read_header() suceeded before
-    using the output argument p_image.
-
-diff --git a/src/lib/openjp2/jp2.c b/src/lib/openjp2/jp2.c
-index 4df055a5..da506318 100644
---- a/src/lib/openjp2/jp2.c
-+++ b/src/lib/openjp2/jp2.c
-@@ -2873,7 +2873,7 @@ OPJ_BOOL opj_jp2_read_header(opj_stream_private_t *p_stream,
-                               p_image,
-                               p_manager);
- 
--    if (p_image && *p_image) {
-+    if (ret && p_image && *p_image) {
-         /* Set Image Color Space */
-         if (jp2->enumcs == 16) {
-             (*p_image)->color_space = OPJ_CLRSPC_SRGB;
diff --git a/third_party/libopenjpeg/README.pdfium b/third_party/libopenjpeg/README.pdfium
index 921be5a..eacdae0 100644
--- a/third_party/libopenjpeg/README.pdfium
+++ b/third_party/libopenjpeg/README.pdfium
@@ -1,7 +1,7 @@
 Name: OpenJPEG
 URL: https://github.com/uclouvain/openjpeg
-Version: 2.5.3 (also update in opj_config*)
-Revision: 210a8a5690d0da66f02d49420d7176a21ef409dc
+Version: 2.5.4
+Revision: 6c4a29b00211eb0430fa0e5e890f1ce5c80f409f
 Security Critical: yes
 Shipped: yes
 License: BSD-2-Clause
@@ -32,4 +32,7 @@
 0039-opj_mqc_renorme.patch: Remove unused opj_mqc_renorme().
 0041-remove_opj_clock.patch: Remove unused opj_clock.h include.
 0046-func-ptr-mixup.patch: Prevent mixing up function pointer types.
-0049-check_after_parsing.patch: Check for error after parsing header.
+
+Note:
+
+Also update the version numbers in opj_config*.
diff --git a/third_party/libopenjpeg/jp2.c b/third_party/libopenjpeg/jp2.c
index af3b38f..b85c5cd 100644
--- a/third_party/libopenjpeg/jp2.c
+++ b/third_party/libopenjpeg/jp2.c
@@ -2008,6 +2008,12 @@
     if (image->icc_profile_len) {
         jp2->meth = 2;
         jp2->enumcs = 0;
+        jp2->color.icc_profile_buf = (OPJ_BYTE *)opj_malloc(image->icc_profile_len);
+        if (jp2->color.icc_profile_buf) {
+            jp2->color.icc_profile_len = image->icc_profile_len;
+            memcpy(jp2->color.icc_profile_buf, image->icc_profile_buf,
+                   image->icc_profile_len);
+        }
     } else {
         jp2->meth = 1;
         if (image->color_space == OPJ_CLRSPC_SRGB) {
diff --git a/third_party/libopenjpeg/openjpeg.h b/third_party/libopenjpeg/openjpeg.h
index 59abd32..fe2f1ee 100644
--- a/third_party/libopenjpeg/openjpeg.h
+++ b/third_party/libopenjpeg/openjpeg.h
@@ -635,6 +635,8 @@
 
 /*
  * Callback function prototype for read function
+ * @return returns The number of bytes delivered into
+ * \a p_buffer. -1 signals end of stream.
  */
 typedef OPJ_SIZE_T(* opj_stream_read_fn)(void * p_buffer, OPJ_SIZE_T p_nb_bytes,
         void * p_user_data) ;
@@ -1239,7 +1241,6 @@
 
 /**
  * Sets the length of the user data for the stream.
- *
  * @param p_stream    the stream to modify
  * @param data_length length of the user_data.
 */
@@ -1437,6 +1438,8 @@
  * that is to say at the highest resolution level, even if requesting the image at lower
  * resolution levels.
  *
+ * Note: If p_start_x, p_start_y, p_end_x, p_end_y are all 0, then the whole image is decoded.
+ *
  * Generally opj_set_decode_area() should be followed by opj_decode(), and the
  * codec cannot be re-used.
  * In the particular case of an image made of a single tile, several sequences of
diff --git a/third_party/libopenjpeg/opj_config.h b/third_party/libopenjpeg/opj_config.h
index 5aefbfe..2f0301b 100644
--- a/third_party/libopenjpeg/opj_config.h
+++ b/third_party/libopenjpeg/opj_config.h
@@ -13,4 +13,4 @@
 /* Version number. */
 #define OPJ_VERSION_MAJOR 2
 #define OPJ_VERSION_MINOR 5
-#define OPJ_VERSION_BUILD 3
+#define OPJ_VERSION_BUILD 4
diff --git a/third_party/libopenjpeg/opj_config_private.h b/third_party/libopenjpeg/opj_config_private.h
index 74a8845..4f9236c 100644
--- a/third_party/libopenjpeg/opj_config_private.h
+++ b/third_party/libopenjpeg/opj_config_private.h
@@ -7,7 +7,7 @@
 /* create opj_config_private.h for CMake */
 #define OPJ_HAVE_INTTYPES_H 	1
 
-#define OPJ_PACKAGE_VERSION "2.5.3"
+#define OPJ_PACKAGE_VERSION "2.5.4"
 
 /* Not used by openjp2*/
 /*#define HAVE_MEMORY_H 1*/
