diff --git a/src/utils/zcl_abapgit_progress.clas.abap b/src/utils/zcl_abapgit_progress.clas.abap
index e48c52249..0cd04d52d 100644
--- a/src/utils/zcl_abapgit_progress.clas.abap
+++ b/src/utils/zcl_abapgit_progress.clas.abap
@@ -22,6 +22,9 @@ CLASS zcl_abapgit_progress DEFINITION
RETURNING
VALUE(rv_pct) TYPE i .
PRIVATE SECTION.
+
+ DATA mv_cv_time_next TYPE sy-uzeit .
+ DATA mv_cv_datum_next TYPE sy-datum .
ENDCLASS.
@@ -52,14 +55,37 @@ CLASS ZCL_ABAPGIT_PROGRESS IMPLEMENTATION.
METHOD show.
- DATA: lv_pct TYPE i.
+ DATA: lv_pct TYPE i.
+ DATA: lv_time TYPE t.
- lv_pct = calc_pct( iv_current ).
+ CONSTANTS: c_wait_secs TYPE i VALUE 2.
- CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
- EXPORTING
- percentage = lv_pct
- text = iv_text.
+ GET TIME.
+ lv_time = sy-uzeit.
+ IF mv_cv_time_next IS INITIAL AND mv_cv_datum_next IS INITIAL.
+ mv_cv_time_next = lv_time.
+ mv_cv_datum_next = sy-datum.
+ ENDIF.
+
+ "We only do a progress indication if enough time has passed
+ IF lv_time >= mv_cv_time_next AND sy-datum = mv_cv_datum_next OR
+ sy-datum > mv_cv_datum_next.
+
+ lv_pct = calc_pct( iv_current ).
+
+ CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
+ EXPORTING
+ percentage = lv_pct
+ text = iv_text.
+ mv_cv_time_next = lv_time + c_wait_secs.
+
+ ENDIF.
+ IF sy-datum > mv_cv_datum_next.
+ mv_cv_datum_next = sy-datum.
+ ENDIF.
+ IF mv_cv_time_next < lv_time.
+ mv_cv_datum_next = sy-datum + 1.
+ ENDIF.
ENDMETHOD.
ENDCLASS.
diff --git a/src/utils/zcl_abapgit_progress.clas.xml b/src/utils/zcl_abapgit_progress.clas.xml
index e12404479..14b78dec7 100644
--- a/src/utils/zcl_abapgit_progress.clas.xml
+++ b/src/utils/zcl_abapgit_progress.clas.xml
@@ -14,6 +14,20 @@
X
X
+
+
+ ZCL_ABAPGIT_PROGRESS
+ MV_CV_DATUM_NEXT
+ E
+ Date or Earliest, Next Progress Display
+
+
+ ZCL_ABAPGIT_PROGRESS
+ MV_CV_TIME_NEXT
+ E
+ Time of Earliest, Next Progress Display
+
+