diff --git a/build/between.js b/build/between.js
index <HASH>..<HASH> 100644
--- a/build/between.js
+++ b/build/between.js
@@ -173,14 +173,13 @@
       value: function update(delta) {
         this.localTime += delta;
         var progress = Math.min(1, this.localTime / this.duration);
+        this.value = lerp_1(this.startValue, this.destValue, progress);
+        this.emit('update', this.value);
 
         if (progress >= 1) {
           this.completed = true;
           this.emit('complete');
         }
-
-        this.value = lerp_1(this.startValue, this.destValue, progress);
-        this.emit('update', this.value);
       }
     }]);
 
diff --git a/src/between.js b/src/between.js
index <HASH>..<HASH> 100644
--- a/src/between.js
+++ b/src/between.js
@@ -44,14 +44,13 @@ class Between extends Events {
 
     const progress = Math.min(1, this.localTime / this.duration);
 
+    this.value = lerp(this.startValue, this.destValue, progress);
+    this.emit('update', this.value);
+
     if (progress >= 1) {
       this.completed = true;
       this.emit('complete');
     }
-
-    this.value = lerp(this.startValue, this.destValue, progress);
-
-    this.emit('update', this.value);
   }
 }
Fix "complete" event fire to be after aniumation last value execution