diff --git a/record-and-playback/presentation/playback/presentation/2.0/lib/writing.js b/record-and-playback/presentation/playback/presentation/2.0/lib/writing.js
index f328145e6966937041d6c01bb926acf4b85a14a5..f3bd61d3e9aca8a164cebe1e3a6cf9bedbf2552c 100755
--- a/record-and-playback/presentation/playback/presentation/2.0/lib/writing.js
+++ b/record-and-playback/presentation/playback/presentation/2.0/lib/writing.js
@@ -65,7 +65,7 @@ var timestampToIdKeys = [];
 var mainShapeIds = {};
 var currentImage = null;
 var currentImageId = "image0";
-var shapesArray = {};
+var shapesArray = [];
 var timestampToId = {};
 var shapesSVGContent = null;
 var slideAspectValues = {};
@@ -385,7 +385,6 @@ function runPopcorn() {
         lastFrameTime = currentTime;
         // Get the time and round to 1 decimal place
         var t = currentTime.toFixed(1);
-        let currentShapes = getShapesAtTime(t);
 
         // Create an object referencing the main versions of all the shapes
         var current_shapes = Object.create(mainShapeIds);
@@ -703,9 +702,9 @@ function processShapesSVG(response) {
   shapesSVGContent = response.responseXML;
 
   // Getting all the event tags
-  let shapeelement = response.responseXML.getElementsByTagName("svg")[0];
+  let shapeelement = shapesSVGContent.getElementsByTagName("svg")[0];
   // Get an array of the elements for each "shape" in the drawing
-  let shapesArray = response.responseXML.querySelectorAll('g[class="shape"]');
+  shapesArray = shapesSVGContent.querySelectorAll('g[class="shape"]');
 
   // To assist in finding the version of a shape shown at a particular time
   // (while being drawn, during updates), provide a lookup from time to id