Index: lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyOutputFactory.java =================================================================== diff -u -rc4dfe712e2f4adc4d448e5653df6430eb2949002 -r4b2d7c8c460d31ff41a04475aad6a152d0b22424 --- lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyOutputFactory.java (.../SurveyOutputFactory.java) (revision c4dfe712e2f4adc4d448e5653df6430eb2949002) +++ lams_tool_survey/src/java/org/lamsfoundation/lams/tool/survey/service/SurveyOutputFactory.java (.../SurveyOutputFactory.java) (revision 4b2d7c8c460d31ff41a04475aad6a152d0b22424) @@ -135,9 +135,10 @@ if (answerDTOs != null && !answerDTOs.isEmpty()) { for (AnswerDTO answerDTO : answerDTOs) { SurveyAnswer surveyAnswer = answerDTO.getAnswer(); - SurveyQuestion question = surveyAnswer.getSurveyQuestion(); - if (question.getType() == SurveyConstants.QUESTION_TYPE_TEXT_ENTRY) { - textAnswers[question.getSequenceId() - 1] = surveyAnswer.getAnswerText(); + if (surveyAnswer != null) { // check for optional questions + SurveyQuestion question = surveyAnswer.getSurveyQuestion(); + if (question.getType() == SurveyConstants.QUESTION_TYPE_TEXT_ENTRY) + textAnswers[question.getSequenceId() - 1] = surveyAnswer.getAnswerText(); } } }