diff --git a/filter/mediaplugin/eolas_fix.js b/filter/mediaplugin/eolas_fix.js
new file mode 100644
index 0000000000000..e3a223171eabd
--- /dev/null
+++ b/filter/mediaplugin/eolas_fix.js
@@ -0,0 +1,80 @@
+// Documentation & updates available at:
+// http://codecentre.eplica.is/js/eolasfix/test.htm
+
+(function( Eolas_Fixed,
+ win, doc,
+ getElementsByTagName,
+ outerHTML,
+ parentNode,
+ tags,
+ elmsToRemoveOnload,
+ x,
+ is_ie,
+ y,z,elm,childNode,HTML,dummy,eolasfix)
+{
+ // run only once!
+ if (win[Eolas_Fixed]) return;
+ win[Eolas_Fixed] = 1;
+
+ eolasfix = function ()
+ {
+ // for each tag name specified in Array t
+ while (tags[++x])
+ {
+ // find all elements of that type in the document
+ // loop through the elements
+ y = 0;
+ while (elm = doc[getElementsByTagName](tags[x])[y++])
+ {
+ if (is_ie)
+ {
+ HTML = '>';
+ z = 0;
+ // elements don't show up in innerHTML IE
+ // so we need to collect their outerHTML.
+ while (childNode = elm.childNodes[z++])
+ HTML += childNode[outerHTML];
+
+ // create a 'dummy' element
+ dummy = doc.createElement('i');
+ // inject it next to `elm`,
+ elm[parentNode].insertBefore(dummy, elm);
+ // and turn it into an `elm` clone
+ dummy[outerHTML] = elm[outerHTML].replace(/>/, HTML);
+ // increment y to skip over it
+ y++;
+
+ // then hide the original elm
+ elm.style.display = 'none';
+ // and save it in 'The List of Elements to Remove Later'.
+ elmsToRemoveOnload[elmsToRemoveOnload.length] = elm;
+ }
+ else
+ {
+ elm[outerHTML] = elm[outerHTML];
+ }
+ }
+ }
+ };
+
+ // For IE run the fix straight away (because the defer="defer"
+ // attribute has delayed execution until the DOM has loaded).
+ // Then assign a window.onload event to purge the old elements.
+ is_ie && !eolasfix() && win.attachEvent('onload', function(){
+ x=0;
+ while(elm = elmsToRemoveOnload[x++])
+ elm[parentNode].removeChild(elm);
+ });
+ // For Opera set an `DOMContentLoaded` event to run the fix.
+ win.opera && doc.addEventListener('DOMContentLoaded', eolasfix, 0);
+
+})( '__Eolas_Fixed',
+ window, document,
+ 'getElementsByTagName',
+ 'outerHTML',
+ 'parentNode',
+ ['object','embed','applet'],
+ [],
+ -1 /*@cc_on,1 @*/
+ );
+
diff --git a/filter/mediaplugin/filter.php b/filter/mediaplugin/filter.php
index 7ed3b27eda900..c9708acbc2f9e 100644
--- a/filter/mediaplugin/filter.php
+++ b/filter/mediaplugin/filter.php
@@ -85,6 +85,9 @@ function mediaplugin_filter($courseid, $text) {
if (is_null($newtext)) {
$newtext = $text;
}
+
+ $newtext .= '';
+
return $newtext;
}