diff --git a/phpBB/includes/template/twig/node/includejs.php b/phpBB/includes/template/twig/node/includejs.php
index bba5d4ef91..91b24e8068 100644
--- a/phpBB/includes/template/twig/node/includejs.php
+++ b/phpBB/includes/template/twig/node/includejs.php
@@ -31,9 +31,17 @@ class phpbb_template_twig_node_includejs extends Twig_Node
 		$config = $this->environment->get_phpbb_config();
 
         $compiler
-			->write("\$context['definition']->append('SCRIPTS', '<script type=\"text/javascript\" src=\"' . ")
+			->write("\$js_file = ")
         	->subcompile($this->getNode('expr'))
-        	->raw(" . '?assets_version=" . $config['assets_version'] . "\"></script>');\n")
+			->raw(";\n")
+			->write("if (!file_exists(\$js_file)) {\n")
+			->indent()
+				->write("\$js_file = \$this->getEnvironment()->getLoader()->getCacheKey(\$js_file);\n")
+			->outdent()
+			->write("}\n")
+			->write("\$context['definition']->append('SCRIPTS', '<script type=\"text/javascript\" src=\"' . ")
+			->raw("\$js_file")
+        	->raw(" . '?assets_version=" . $config['assets_version'] . "\"></script>\n');\n")
         ;
     }
 }
diff --git a/phpBB/styles/prosilver/template/memberlist_search.html b/phpBB/styles/prosilver/template/memberlist_search.html
index 6d2d87a278..4f029627fc 100644
--- a/phpBB/styles/prosilver/template/memberlist_search.html
+++ b/phpBB/styles/prosilver/template/memberlist_search.html
@@ -38,7 +38,7 @@ function insert_single(user)
 // ]]>
 </script>
 <!-- ENDIF -->
-<!-- INCLUDEJS {T_TEMPLATE_PATH}/forum_fn.js -->
+<!-- INCLUDEJS forum_fn.js -->
 <h2 class="solo">{L_FIND_USERNAME}</h2>
 
 <form method="post" action="{S_MODE_ACTION}" id="search_memberlist">
diff --git a/phpBB/styles/prosilver/template/overall_footer.html b/phpBB/styles/prosilver/template/overall_footer.html
index dcb8058ee1..5c88209ad8 100644
--- a/phpBB/styles/prosilver/template/overall_footer.html
+++ b/phpBB/styles/prosilver/template/overall_footer.html
@@ -53,9 +53,9 @@
 
 <script type="text/javascript" src="{T_JQUERY_LINK}"></script>
 <!-- IF S_JQUERY_FALLBACK --><script type="text/javascript">window.jQuery || document.write(unescape('%3Cscript src="{T_ASSETS_PATH}/javascript/jquery.js?assets_version={T_ASSETS_VERSION}" type="text/javascript"%3E%3C/script%3E'));</script><!-- ENDIF -->
-<script type="text/javascript" src="{T_SUPER_TEMPLATE_PATH}/forum_fn.js?assets_version={T_ASSETS_VERSION}"></script>
-<script type="text/javascript" src="{T_ASSETS_PATH}/javascript/core.js?assets_version={T_ASSETS_VERSION}"></script>
-<!-- INCLUDEJS {T_TEMPLATE_PATH}/ajax.js -->
+<!-- INCLUDEJS forum_fn.js -->
+<!-- INCLUDEJS {T_ASSETS_PATH}/javascript/core.js -->
+<!-- INCLUDEJS ajax.js -->
 {$SCRIPTS}
 
 <!-- EVENT overall_footer_after -->
diff --git a/phpBB/styles/prosilver/template/posting_buttons.html b/phpBB/styles/prosilver/template/posting_buttons.html
index 164e887f75..8a153a5ee8 100644
--- a/phpBB/styles/prosilver/template/posting_buttons.html
+++ b/phpBB/styles/prosilver/template/posting_buttons.html
@@ -52,7 +52,7 @@
 
 // ]]>
 </script>
-<!-- INCLUDEJS {T_TEMPLATE_PATH}/editor.js -->
+<!-- INCLUDEJS editor.js -->
 
 <!-- IF S_BBCODE_ALLOWED -->
 <div id="colour_palette" style="display: none;">
diff --git a/phpBB/styles/prosilver/template/timezone_option.html b/phpBB/styles/prosilver/template/timezone_option.html
index ebcf51a906..fc0579bffd 100644
--- a/phpBB/styles/prosilver/template/timezone_option.html
+++ b/phpBB/styles/prosilver/template/timezone_option.html
@@ -15,6 +15,6 @@
 			{S_TZ_OPTIONS}
 		</select>
 
-		<!-- INCLUDEJS {T_TEMPLATE_PATH}/timezone.js -->
+		<!-- INCLUDEJS timezone.js -->
 	</dd>
 </dl>
diff --git a/phpBB/styles/prosilver/template/ucp_avatar_options.html b/phpBB/styles/prosilver/template/ucp_avatar_options.html
index 02c7868afb..072f235eb1 100644
--- a/phpBB/styles/prosilver/template/ucp_avatar_options.html
+++ b/phpBB/styles/prosilver/template/ucp_avatar_options.html
@@ -47,4 +47,4 @@
 	</div>
 </div>
 
-<!-- INCLUDEJS {T_TEMPLATE_PATH}/avatars.js -->
+<!-- INCLUDEJS avatars.js -->
diff --git a/phpBB/styles/subsilver2/template/timezone_option.html b/phpBB/styles/subsilver2/template/timezone_option.html
index 9b68f81557..0f27719f86 100644
--- a/phpBB/styles/subsilver2/template/timezone_option.html
+++ b/phpBB/styles/subsilver2/template/timezone_option.html
@@ -15,6 +15,6 @@
 			{S_TZ_OPTIONS}
 		</select>
 
-		<!-- INCLUDEJS {T_TEMPLATE_PATH}/timezone.js -->
+		<!-- INCLUDEJS timezone.js -->
 	</td>
 </tr>
diff --git a/phpBB/styles/subsilver2/template/ucp_groups_manage.html b/phpBB/styles/subsilver2/template/ucp_groups_manage.html
index 13b8b8c6b7..b8e7e29481 100644
--- a/phpBB/styles/subsilver2/template/ucp_groups_manage.html
+++ b/phpBB/styles/subsilver2/template/ucp_groups_manage.html
@@ -95,7 +95,7 @@
 	</tr>
 	</table>
 
-<!-- INCLUDEJS {T_TEMPLATE_PATH}/avatars.js -->
+<!-- INCLUDEJS avatars.js -->
 
 <!-- ELSEIF S_LIST -->
 
diff --git a/phpBB/styles/subsilver2/template/ucp_profile_avatar.html b/phpBB/styles/subsilver2/template/ucp_profile_avatar.html
index 885d46ef0b..60a816d00a 100644
--- a/phpBB/styles/subsilver2/template/ucp_profile_avatar.html
+++ b/phpBB/styles/subsilver2/template/ucp_profile_avatar.html
@@ -48,6 +48,6 @@
 	</tr>
 </table>
 
-<!-- INCLUDEJS {T_TEMPLATE_PATH}/avatars.js -->
+<!-- INCLUDEJS avatars.js -->
 
 <!-- INCLUDE ucp_footer.html -->