diff --git a/io_anim_acclaim/__init__.py b/io_anim_acclaim/__init__.py
index 1cf89738f5b54cb2adf6bcc71135cf87f5359959..6bc2e7226bd950093cc51dd02f8ae1836bd46891 100644
--- a/io_anim_acclaim/__init__.py
+++ b/io_anim_acclaim/__init__.py
@@ -382,10 +382,12 @@ class AmcAnimator(bpy.types.Operator):
 
     def modal(self, context, event):
         if event.type == 'ESC':
-            return self.cancel(context)
+            self.cancel(context)
+            return {'CANCELLED'}
         if event.type == 'TIMER':
             if not self.sb.apply_next_frame():
-                return self.cancel(context)
+                self.cancel(context)
+                return {'FINISHED'}
         return {'PASS_THROUGH'}
 
     def execute(self, context):