diff -ru a/typo3/sysext/rtehtmlarea/Resources/Public/JavaScript/HTMLArea/Plugin/Plugin.js b/typo3/sysext/rtehtmlarea/Resources/Public/JavaScript/HTMLArea/Plugin/Plugin.js
--- a/typo3/sysext/rtehtmlarea/Resources/Public/JavaScript/HTMLArea/Plugin/Plugin.js
+++ b/typo3/sysext/rtehtmlarea/Resources/Public/JavaScript/HTMLArea/Plugin/Plugin.js
@@ -611,6 +611,9 @@
* Dialogue window onClose handler
*/
onClose: function () {
+ // Restore window before closing, to avoid residual classes on container
+ this.dialog.restore();
+
this.removeListeners();
this.editor.focus();
this.restoreSelection();
diff -ru a/typo3/sysext/t3skin/rtehtmlarea/htmlarea.css b/typo3/sysext/t3skin/rtehtmlarea/htmlarea.css
--- a/typo3/sysext/t3skin/rtehtmlarea/htmlarea.css
+++ b/typo3/sysext/t3skin/rtehtmlarea/htmlarea.css
@@ -172,6 +172,13 @@
padding-right: 8px;
}
/* Selectors for dialogue windows */
+/* Default inline style positioning by Ext JS is "absolute".
+ * Forcing "fixed" to position maximized window independently of scrolled down
+ * parent window.
+ */
+.htmlarea-window.x-window-maximized {
+ position: fixed !important;
+}
.htmlarea-window .x-panel-icon {
background-image: url("images/sprites/actions.png");
background-repeat: no-repeat;