diff --git a/views/js/runner/provider/qti.js b/views/js/runner/provider/qti.js
index <HASH>..<HASH> 100644
--- a/views/js/runner/provider/qti.js
+++ b/views/js/runner/provider/qti.js
@@ -329,9 +329,13 @@ define([
                 })
                 .on('move', function(direction, scope, position){
 
+                    // get the item results/state before disabling the tools
+                    // otherwise the state could be partially lost for tools that clean up when disabling
+                    var itemResults = getItemResults();
+
                     this.trigger('disablenav disabletools');
 
-                    computeNext('move', _.merge(getItemResults(), {
+                    computeNext('move', _.merge(itemResults, {
                         direction : direction,
                         scope     : scope || 'item',
                         ref       : position
Get the item results/state before cleaning up by the tools