diff --git a/filter.php b/filter.php
index a1e68c0d3896af785635d9a6640e7159cf6ff869..44391a727974fee5c60afea54e587745b4c524c7 100644
--- a/filter.php
+++ b/filter.php
@@ -109,7 +109,7 @@ class filter_opencast extends moodle_text_filter {
                         $newtext =  $renderer->render_player($mustachedata);
 
                         // Replace video tag.
-                        $text = preg_replace('/<video.*<\/video>/', $newtext, $text, 1);
+                        $text = preg_replace('/<video(?:(?!<\/video>).)*?' . preg_quote($match, '/') . '.*?<\/video>/', $newtext, $text, 1);
                     }
                 }
             }