diff --git a/apps/files/js/fileactionsmenu.js b/apps/files/js/fileactionsmenu.js
index b8022f137341baa5492f2ee33ed05183b027726d..c3cd8bf8b70b35b5c85cfb8ec7752ea6d0e560d6 100644
--- a/apps/files/js/fileactionsmenu.js
+++ b/apps/files/js/fileactionsmenu.js
@@ -10,24 +10,6 @@
 
 (function() {
 
-	var TEMPLATE_MENU =
-		'<ul>' +
-		'{{#each items}}' +
-		'<li>' +
-		'<a href="#" class="menuitem action action-{{nameLowerCase}} permanent" data-action="{{name}}">' +
-			'{{#if icon}}<img class="icon" src="{{icon}}"/>' +
-			'{{else}}'+
-				'{{#if iconClass}}' +
-				'<span class="icon {{iconClass}}"></span>' +
-				'{{else}}' +
-				'<span class="no-icon"></span>' +
-				'{{/if}}' +
-			'{{/if}}' +
-			'<span>{{displayName}}</span></a>' +
-		'</li>' +
-		'{{/each}}' +
-		'</ul>';
-
 	/**
 	 * Construct a new FileActionsMenu instance
 	 * @constructs FileActionsMenu
@@ -49,10 +31,7 @@
 		},
 
 		template: function(data) {
-			if (!OCA.Files.FileActionsMenu._TEMPLATE) {
-				OCA.Files.FileActionsMenu._TEMPLATE = Handlebars.compile(TEMPLATE_MENU);
-			}
-			return OCA.Files.FileActionsMenu._TEMPLATE(data);
+			return OCA.Files.Templates['fileactionsmenu'](data);
 		},
 
 		/**
diff --git a/apps/files/js/templates.js b/apps/files/js/templates.js
index f05959ff985fb06c40be8b89f91f108766d757ed..0511873c8fb8310501995f45bd7e882a930d0ae9 100644
--- a/apps/files/js/templates.js
+++ b/apps/files/js/templates.js
@@ -81,6 +81,43 @@ templates['file_action_trigger'] = template({"1":function(container,depth0,helpe
     + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.displayName : depth0),{"name":"if","hash":{},"fn":container.program(8, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
     + "\n</a>\n";
 },"useData":true});
+templates['fileactionsmenu'] = template({"1":function(container,depth0,helpers,partials,data) {
+    var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
+
+  return "		<li>\n			<a href=\"#\" class=\"menuitem action action-"
+    + alias4(((helper = (helper = helpers.nameLowerCase || (depth0 != null ? depth0.nameLowerCase : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"nameLowerCase","hash":{},"data":data}) : helper)))
+    + " permanent\" data-action=\""
+    + alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data}) : helper)))
+    + "\">\n				"
+    + ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.icon : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "")
+    + "				<span>"
+    + alias4(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"displayName","hash":{},"data":data}) : helper)))
+    + "</span>\n			</a>\n		</li>\n";
+},"2":function(container,depth0,helpers,partials,data) {
+    var helper;
+
+  return "<img class=\"icon\" src=\""
+    + container.escapeExpression(((helper = (helper = helpers.icon || (depth0 != null ? depth0.icon : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"icon","hash":{},"data":data}) : helper)))
+    + "\"/>\n";
+},"4":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return ((stack1 = helpers["if"].call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.program(7, data, 0),"data":data})) != null ? stack1 : "");
+},"5":function(container,depth0,helpers,partials,data) {
+    var helper;
+
+  return "						<span class=\"icon "
+    + container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data}) : helper)))
+    + "\"></span>\n";
+},"7":function(container,depth0,helpers,partials,data) {
+    return "						<span class=\"no-icon\"></span>\n";
+},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) {
+    var stack1;
+
+  return "<ul>\n"
+    + ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "")
+    + "</ul>\n";
+},"useData":true});
 templates['filemultiselectmenu'] = template({"1":function(container,depth0,helpers,partials,data) {
     var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression;
 
diff --git a/apps/files/js/templates/fileactionsmenu.handlebars b/apps/files/js/templates/fileactionsmenu.handlebars
new file mode 100644
index 0000000000000000000000000000000000000000..d8d1b78fd8673ab236fffe625359833f9cac17c5
--- /dev/null
+++ b/apps/files/js/templates/fileactionsmenu.handlebars
@@ -0,0 +1,17 @@
+<ul>
+	{{#each items}}
+		<li>
+			<a href="#" class="menuitem action action-{{nameLowerCase}} permanent" data-action="{{name}}">
+				{{#if icon}}<img class="icon" src="{{icon}}"/>
+				{{else}}
+					{{#if iconClass}}
+						<span class="icon {{iconClass}}"></span>
+					{{else}}
+						<span class="no-icon"></span>
+					{{/if}}
+				{{/if}}
+				<span>{{displayName}}</span>
+			</a>
+		</li>
+	{{/each}}
+</ul>