diff --git a/flex-maven-tools/flex-sdk-converter/retrievers/base/src/main/java/org/apache/flex/utilities/converter/retrievers/utils/ProgressBar.java b/flex-maven-tools/flex-sdk-converter/retrievers/base/src/main/java/org/apache/flex/utilities/converter/retrievers/utils/ProgressBar.java
index c15d26b..1a1b775 100644
--- a/flex-maven-tools/flex-sdk-converter/retrievers/base/src/main/java/org/apache/flex/utilities/converter/retrievers/utils/ProgressBar.java
+++ b/flex-maven-tools/flex-sdk-converter/retrievers/base/src/main/java/org/apache/flex/utilities/converter/retrievers/utils/ProgressBar.java
@@ -24,9 +24,11 @@
 public class ProgressBar {
 
     protected long total;
+    protected int curValue;
 
     public ProgressBar(long total) {
         this.total = total;
+        this.curValue = 0;
         drawOutput(0l);
     }
 
@@ -37,11 +39,14 @@
     protected void drawOutput(long current) {
         final int transferredPercent = (int) Math.round(
                 ((double) current / (double) total) * (double) 100);
-        final int segmentsTransferred = transferredPercent / 2;
-        final int segmentsRest = 50 - segmentsTransferred;
-        System.out.print("\r" + String.format(" %3d", transferredPercent) + "% [" +
-                StringUtils.repeat("=", segmentsTransferred) +
-                ((segmentsRest > 0) ? ">" + StringUtils.repeat(" ", segmentsRest - 1) : "") + "] ");
+        if(transferredPercent != curValue) {
+            curValue = transferredPercent;
+            final int segmentsTransferred = transferredPercent / 2;
+            final int segmentsRest = 50 - segmentsTransferred;
+            System.out.print("\r" + String.format(" %3d", transferredPercent) + "% [" +
+                    StringUtils.repeat("=", segmentsTransferred) +
+                    ((segmentsRest > 0) ? ">" + StringUtils.repeat(" ", segmentsRest - 1) : "") + "] ");
+        }
     }
 
 }
