No se llama el atributo de acción de Primefaces comandoButton

Estoy creando una aplicación JSF con primefaces. Básicamente tengo esta vista. Hay una vista de pestaña que para cada pestaña contiene un botón de comando y un panel de acordeón (otro tipo de vista de pestaña). Las pestañas del panel de acordeón, entre otros elementos, contienen cada uno de los botones de comando. Mi problema es que el primer botón de comando (bajo 1 nivel de pestañas) llama correctamente al método de acción cuando se hace clic, mientras que el segundo botón (bajo 2 niveles de pestañas) no lo hace. Debo decir que tanto tabView como accordionPanel funcionan correctamente, ya que muestran la información que deben mostrar.

Estoy publicando una versión simplificada de mi vista para que pueda ver lo que está sucediendo.

<h:form>
<p:tabView id="unitTabs"  orientation="left" dynamic="true" cache="false" var="unit" value="#{unitController.getUnitsOfLoggedInUser(loginController.checkedUser)}">
    <p:tab id="unitTab" title="#{unit.unitName}">

    <p:commandButton value="Add Lecture" action="#{unitController.setTemporary(unit)}" onclick="createLectureDialog.show()">

    <p:accordionPanel id="lectureTabs" value ="#{lectureController.getLecturesForUnit(unit)}" var="lecture" dynamic="true" cache="false">

         <p:tab title="#{lecture.lectureName}">
              <p:commandButton value="Add Criterion" action ="#{lectureController.setTemporary(lecture)}" onclick="createCriterionDialog.show()" >
         </p:tab>
     </p:accordionPanel>
     </p:tab>
</p:tabView>
</h:form>

¿Qué estoy haciendo mal? Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta