diff --git a/src/js/_enqueues/vendor/tinymce/plugins/wpeditimage/plugin.js b/src/js/_enqueues/vendor/tinymce/plugins/wpeditimage/plugin.js
index 0f0a5daf45..2c9b42ad17 100644
--- a/src/js/_enqueues/vendor/tinymce/plugins/wpeditimage/plugin.js
+++ b/src/js/_enqueues/vendor/tinymce/plugins/wpeditimage/plugin.js
@@ -221,6 +221,9 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
 				// convert remaining line breaks to <br>
 				caption = caption.replace( /\s*\n\s*/g, '<br />' );

+				// Convert escaped shortcode brackets to html entities.
+				caption = caption.replace( /\[{2}/g, '&#91;' ).replace( /\]{2}/g, '&#93;' );
+
 				return '[caption id="' + id + '" align="' + align + '" width="' + width + '"' + classes + ']' + c + ' ' + caption + '[/caption]';
 			});
