diff --git a/CHANGELOG.md b/CHANGELOG.md
index 729956fc3722f70f9596e8d4084c052461f8ed4a..b79c4b37a6c80bc921e2957e45a9eb7f01b20ee3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,6 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ### Fixed
 
+- Fixed edit mode for Safari 11.
+
 ### Security (in case of vulnerabilities)
 
 ## [0.3.0] - 2021-02-10
diff --git a/src/core/js/webcaosdb.js b/src/core/js/webcaosdb.js
index 55337a36a97d6a7ad42aadfe673e429d6d942a0a..b7ad95f4d907104210eb04771b95f03d3f41d5bd 100644
--- a/src/core/js/webcaosdb.js
+++ b/src/core/js/webcaosdb.js
@@ -1683,11 +1683,17 @@ function getXSLScriptClone(source) {
 /**
  * TODO
  */
-function injectTemplate(orig_xsl, template) {
+function injectTemplate(orig_xsl, templateStr) {
     var xsl = getXSLScriptClone(orig_xsl);
-    var entry_t = xsl.createElement("xsl:template");
-    xsl.firstElementChild.appendChild(entry_t);
-    entry_t.outerHTML = template;
+    // var entry_t = xsl.createElement("xsl:template");
+    // xsl.firstElementChild.appendChild(entry_t);
+    // entry_t.outerHTML = template; // Does not work in templates in Safari 11
+    // Workaround follows, remove after Safari also has the behaviour of Firefox and current WebKit
+    var temp = xsl.documentElement.cloneNode(false)
+    temp.innerHTML = templateStr;
+    var entry_t = temp.firstChild;
+    xsl.documentElement.appendChild(entry_t);
+    // End of workaround
     return xsl;
 }