diff --git a/templates/gulpfile.js.twig b/templates/gulpfile.js.twig
index 60b49edd8dc665a1df328e1e02f4635de67cbb4f..0b3367ee73548065346f7a85a93ec3e080f25c13 100644
--- a/templates/gulpfile.js.twig
+++ b/templates/gulpfile.js.twig
@@ -20,53 +20,41 @@ var autoprefixer = require('autoprefixer'),
     default: { env: process.env.NODE_ENV || 'development' }
   },
   options = minimist(process.argv.slice(2), knownOptions);
-
 {# This variable is needed to search for defined fonts in packages #}
-{% set fontDefined = false %}
-
+{% set fontDefined = [] %}
 {% for name, package in bower_assets %}
 {% if package.fonts is defined %}
-{% set fontDefined = true %}
+{% set fontDefined = fontDefined|merge([package.name]) %}
+
 // Provide fonts from {{ name }}
 gulp.task('fonts-{{ package.name }}', function() {
   return gulp.src('{{ package.fonts.relative }}/**')
     .pipe(gulp.dest(config.fontsPath + '/{{ package.name }}'));
 });
-
 {% endif %}
 {% endfor %}
+{% if fontDefined|length %}
 
-{% if fontDefined %}
 // Provide fonts from all libraries
-gulp.task('fonts', gulp.parallel(
-  {% for name, package in bower_assets %}
-  {% if package.fonts is defined %}'fonts-{{ package.name }}'{% if not loop.last %}, {% endif %}
-  {% endif %}
-  {% endfor %}));
+gulp.task('fonts', gulp.parallel('fonts-{{ jsDefined|join("','fonts-") }}'));
 {% endif %}
-
 {# This variable is needed to search for defined js in packages #}
-{% set jsDefined = false %}
-
+{% set jsDefined = [] %}
 {% for name, package in bower_assets %}
 {% if package.js is defined %}
-{% set jsDefined = true %}
+{% set jsDefined = jsDefined|merge([package.name]) %}
+
 // Provide JS from {{ name }}
 gulp.task('js-{{ package.name }}', function() {
   return gulp.src('{{ package.js.relative }}/**')
     .pipe(gulp.dest(config.jsPath + '/{{ package.name }}'));
 });
-
 {% endif %}
 {% endfor %}
+{% if jsDefined|length %}
 
-{% if jsDefined %}
 // Provide JS from all libraries
-gulp.task('js', gulp.parallel(
-  {% for name, package in bower_assets %}
-  {% if package.js is defined %}'js-{{ package.name }}'{% if not loop.last %}, {% endif %}
-  {% endif %}
-  {% endfor %}));
+gulp.task('js', gulp.parallel('js-{{ jsDefined|join("','js-") }}'));
 {% endif %}
 
 // Pre-process CSS
@@ -98,4 +86,4 @@ gulp.task('watch', function() {
 });
 
 // Default task: run all other tasks in the correct order
-gulp.task('default', gulp.parallel({% if fontDefined %}'fonts', {% endif %}{% if jsDefined %}'js', {% endif %}'css'));
+gulp.task('default', gulp.parallel({% if fontDefined|length %}'fonts', {% endif %}{% if jsDefined|length %}'js', {% endif %}'css'));