Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java =================================================================== diff -u -rfb49327c15998617c6cdbd99769650b5396371a4 -rda826295c3e7de137b4fdfe3263ac4d7978f974d --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision fb49327c15998617c6cdbd99769650b5396371a4) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision da826295c3e7de137b4fdfe3263ac4d7978f974d) @@ -403,10 +403,13 @@ log.error("exportToSpreadsheet encountered '" + e + "' while parsing checkbox answer; answer was " + answerString); } answerIndex++; - answer = record.get(answerIndex); - currentQuestion = answer.getQuestion(); - answerString = answer.getAnswer(); - } while (currentQuestion.equals(question)); + // LDEV-3648 If the checkbox is the last entry, then there won't be any more answers so don't trigger an out of bounds exception! + if ( answerIndex < record.size() ) { + answer = record.get(answerIndex); + currentQuestion = answer.getQuestion(); + answerString = answer.getAnswer(); + } + } while (answerIndex < record.size() && currentQuestion.equals(question)); // we went one answer too far, so we go back answerIndex--; cell = (cellStringBuilder.length() > 1