diff --git a/record-and-playback/slides/playback/slides/lib/writing.js b/record-and-playback/slides/playback/slides/lib/writing.js
index cbd15f787361ad4b4c37c2a8d4c3aaf3b1971f22..7de5e54979a9ee2ee90f383c83ea2027a92d1506 100644
--- a/record-and-playback/slides/playback/slides/lib/writing.js
+++ b/record-and-playback/slides/playback/slides/lib/writing.js
@@ -92,8 +92,8 @@ viewBoxes = xmlDoc.getElementsByTagName("viewBox");
 
 var pzlen = panZoomArray.length;
 //fill the times array with the times of the svg images.
-for (var k = 0;k < pzlen; k++) {
-	vboxValues[panZoomArray[k].getAttribute("timestamp")] = viewBoxes[k].childNodes[0].data;
+for (var k = 0;k < pzlen-1; k++) {
+	vboxValues[[panZoomArray[k].getAttribute("timestamp"), panZoomArray[k+1].getAttribute("timestamp")]] = viewBoxes[k].childNodes[0].data;
 }
 
 // - - - END OF GLOBAL VARIABLES - - - //
@@ -163,7 +163,8 @@ function setViewBox(val) {
 
 function getImageAtTime(time) {
 	var curr_t = parseFloat(time);
-	for (var key in imageAtTime) {
+	var key;
+	for (key in imageAtTime) {
 		var arry = key.split(",");
 		if ((parseFloat(arry[0]) <= curr_t) && (parseFloat(arry[1]) >= curr_t)) {
 			return imageAtTime[key];
@@ -171,6 +172,17 @@ function getImageAtTime(time) {
 	}
 }
 
+function getViewboxAtTime(time) {
+	var curr_t = parseFloat(time);
+	var key;
+	for (key in vboxValues) {
+		var arry = key.split(",");
+		if ((parseFloat(arry[0]) <= curr_t) && (parseFloat(arry[1]) >= curr_t)) {
+			return vboxValues[key];
+		}
+	}
+}
+
 // - - - END OF JAVASCRIPT FUNCTIONS - - - //
 
 window.onresize = function(event) {
@@ -312,7 +324,7 @@ p.code({
 				curr_pgid = next_pgid;
 			}
 
-			var vboxVal = vboxValues[t];
+			var vboxVal = getViewboxAtTime(t);
 			if(vboxVal !== undefined) {
 				setViewBox(vboxVal);
 			}