Index: lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java =================================================================== diff -u -r102a93686f5779e8caf5a693f388edda2e01f05d -rbcc3d7d8736e1622b6488fa3b15c8569676e816e --- lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision 102a93686f5779e8caf5a693f388edda2e01f05d) +++ lams_tool_daco/src/java/org/lamsfoundation/lams/tool/daco/web/action/MonitoringAction.java (.../MonitoringAction.java) (revision bcc3d7d8736e1622b6488fa3b15c8569676e816e) @@ -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