diff --git a/resources/assets/stylesheets/scss/courseware.scss b/resources/assets/stylesheets/scss/courseware.scss
index aa31c438f5421c63a4ed20f72b8a4c0539c2e4dc..524636c71af69f02acc59ff55a7b7435f0bed29b 100755
--- a/resources/assets/stylesheets/scss/courseware.scss
+++ b/resources/assets/stylesheets/scss/courseware.scss
@@ -2408,6 +2408,16 @@ m a n a g e r
     .progress-bar-wrapper {
         width: 100%;
         border: solid thin $content-color-40;
+
+        .progress-bar {
+            display: flex;
+            flex-direction: column;
+            justify-content: center;
+            color: white;
+            text-align: center;
+            white-space: nowrap;
+            background-color: $base-color;
+        }
     }
 }
 
diff --git a/resources/vue/mixins/courseware/export.js b/resources/vue/mixins/courseware/export.js
index 90797cabe771721f7a09a559dc66c7d3cffc7414..837b98c9f0c750be9e365013d76628f3c2907c2c 100755
--- a/resources/vue/mixins/courseware/export.js
+++ b/resources/vue/mixins/courseware/export.js
@@ -96,7 +96,11 @@ export default {
             // load whole courseware nonetheless, only export relevant elements
             let elements = await this.$store.getters['courseware-structural-elements/all'];
             this.exportElementCounter = 0;
-            this.elementCounter = await this.countElements([root_element]);
+            if (withChildren) {
+                this.elementCounter = this.countElements(elements);
+            } else {
+                this.elementCounter = root_element.relationships.containers.length;
+            }
 
             root_element.containers = [];
             if (root_element.relationships.containers?.data?.length) {
@@ -135,23 +139,11 @@ export default {
             };
         },
 
-        countElements(element) {
+        countElements(elements) {
             let counter = 0;
-            if (element.length) {
-                for (var i = 0; i < element.length; i++) {
-                    counter++;
-                    if (element[i].relationships.children?.data?.length > 0) {
-                        let children = [];
-                        element[i].relationships.children?.data.forEach(child => {
-                            children.push(this.structuralElementById({id: child.id}));
-                        });
-                        counter += this.countElements(children);
-                    }
-
-                    if (element[i].relationships.containers?.data?.length > 0) {
-                        counter += element[i].relationships.containers.data.length
-                    }
-                }
+            for (var i = 0; i < elements.length; i++) {
+                counter++;
+                counter += elements[i].relationships.containers.data.length;
             }
 
             return counter;