diff --git a/lib/web/css/source/components/_modals.less b/lib/web/css/source/components/_modals.less
index daf325efd3a0276e7ad7e7318e75451b8474cb78..ea866d4775ac23728d62bf2782be416d314cc06d 100644
--- a/lib/web/css/source/components/_modals.less
+++ b/lib/web/css/source/components/_modals.less
@@ -189,6 +189,8 @@
         //  If applied, switching outer popup scroll to inner
         &._inner-scroll {
             overflow-y: visible;
+
+            .ie11 &,
             .ie10 &,
             .ie9 & {
                 overflow-y: auto;
@@ -196,6 +198,8 @@
 
             .modal-inner-wrap {
                 max-height: 90%;
+
+                .ie11 &,
                 .ie10 &,
                 .ie9 & {
                     max-height: none;
diff --git a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js
index 2c4ab52b896cb8fd8bf01974d7f39cfc8f11e4f4..057f492509192292022cf7290f6d18dc872c62b1 100755
--- a/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js
+++ b/lib/web/mage/adminhtml/wysiwyg/tiny_mce/setup.js
@@ -329,8 +329,9 @@ define([
 
         encodeDirectives: function(content) {
             // collect all HTML tags with attributes that contain directives
-            return content.gsub(/<([a-z0-9\-\_]+.+?)([a-z0-9\-\_]+=".*?\{\{.+?\}\}.*?".+?)>/i, function(match) {
+            return content.gsub(/<([a-z0-9\-\_]+.+?)([a-z0-9\-\_]+=".*?\{\{.+?\}\}.*?".*?)>/i, function(match) {
                 var attributesString = match[2];
+
                 // process tag attributes string
                 attributesString = attributesString.gsub(/([a-z0-9\-\_]+)="(.*?)(\{\{.+?\}\})(.*?)"/i, function(m) {
                     return m[1] + '="' + m[2] + this.makeDirectiveUrl(Base64.mageEncode(m[3])) + m[4] + '"';