Index: lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java =================================================================== diff -u -r58f8a894e785390508199bfb43acefd77ee63d0a -ra669b55dbd8e20c40ca34295641eee137b61f22e --- lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision 58f8a894e785390508199bfb43acefd77ee63d0a) +++ lams_learning/src/java/org/lamsfoundation/lams/learning/service/LearnerService.java (.../LearnerService.java) (revision a669b55dbd8e20c40ca34295641eee137b61f22e) @@ -905,10 +905,19 @@ if (transition != null) { nextActivity = transition.getToActivity(); } else if (currentActivity.getParentActivity() != null) { + // check parent activity like Optional activities currentActivity = currentActivity.getParentActivity(); transition = currentActivity.getTransitionFrom(); if (transition != null) { nextActivity = transition.getToActivity(); + } else if (currentActivity.getParentActivity() != null) { + // if it is branching, then it is activity -> sequence activity -> branching activity + // and the branching activity is what we need to check + currentActivity = currentActivity.getParentActivity(); + transition = currentActivity.getTransitionFrom(); + if (transition != null) { + nextActivity = transition.getToActivity(); + } } }