diff --git a/Resources/views/Form/file_upload.html.twig b/Resources/views/Form/file_upload.html.twig
index faf6290954fae22c52e730b1e1c571aa517a5d10..a36ecced730fa052696f7ead8e5321c0369c96d6 100644
--- a/Resources/views/Form/file_upload.html.twig
+++ b/Resources/views/Form/file_upload.html.twig
@@ -1,41 +1,45 @@
 
 {% block file_upload_progress_prototype %}
     <div class="template-upload">
-        <button class="btn btn-sm btn-danger cancel">{{ irstea_icon('remove') }}</button>
-        <span class="name"></a></span>
-        <span class="size"></a></span>
-        <span class="error danger"></span>
-        <div class="progress">
+        <p>
             <span class="progress-text pull-right"></span>
+            <button class="btn btn-xs btn-danger cancel" title="{% trans %}button.cancel{% endtrans %}">
+                {{ irstea_icon('remove') }}
+            </button>&nbsp;<span class="name"></span>&nbsp;(<span class="size"></span>)
+            <span class="error danger"></span>
+        </p>
+        <p class="progress">
             <div class="progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100"></div>
-        </div>
+        </p>
     </div>
 {% endblock %}
 
-{% macro fu_download(fieldName, file) %}
-    <div class="template-download">
-        <input type="hidden" name="{{ fieldName }}" value="{{ file.id|default }}"/>
-        <button class="btn btn-sm btn-danger delete">{{ irstea_icon('trash') }}</button>
-        <span class="name"><a{% if file %} href="{{ path('file_upload_get', {id: file.id}) }}"{% endif %}>{{ file.originalFilename|default }}</a></span>
-        <span class="size">{{ file.size|default }}</span>
-        <span class="error danger"></span>
-    </div>
-{% endmacro %}
-
 {% block file_upload_widget %}
     <div id="{{ id }}"
          data-widget="irsteaFileUpload"
          data-create-url="{{ widget_attr['data-create-url'] }}"
-         data-download-prototype="{{ _self.fu_download(name, null)|e }}"
+         data-download-prototype="{{ block('file_upload_entry_prototype')|e }}"
          data-upload-prototype="{{ block('file_upload_progress_prototype')|e }}">
         <span class="btn btn-primary fileinput-button">
             <span>{{ irstea_icon('upload') }}&nbsp;{% trans %}button.upload{% endtrans %}</span>
             <input type="file" name="_dummy_{{ name }}" multiple="multiple"/>
         </span>
         <div class="fileinput-entries">
-            {% if value is not empty %}
-                {{ _self.fu_download(name, value) }}
-            {% endif %}
+            {%- set file = value %}
+            {%- block file_upload_entry_prototype %}
+                {%- set file = file|default([]) %}
+                <p class="template-download">
+                    <input type="hidden" name="{{ name }}" value="{{ file.id|default }}"/>
+                    <button class="btn btn-xs btn-danger delete" title="{% trans %}button.delete{% endtrans %}">
+                        {{- irstea_icon('trash') -}}
+                    </button>&nbsp;<span class="name">
+                        <a{% if file %} href="{{ path('file_upload_get', {id: file.id}) }}"{% endif %}>{{ file.originalFilename|default }}</a>
+                    </span>&nbsp;(<span class="size">
+                        {{- file.size|default -}}
+                    </span>)
+                    <span class="error danger"></p>
+                </p>
+            {% endblock -%}
         </div>
     </div>
 {% endblock file_upload_widget %}