Here is a fragment of some template code inside of a tapestry form: <t:ajaxformloop t:id="existingAutoImportSettings" source="existingSettings" value="currentSetting"> <t:label for="typeSelect"/> <t:select t:id="typeSelect" zone="fileMetadataSelectZone" value="currentSetting.fileMetadataType" label="${message:type}"/>
<t:zone t:id="fileMetadataSelectZone"> <t:label for="fileMetadataSelect"/> <t:select t:id="fileMetadataSelect" value="currentSetting.fileMetadataObject" model="autoImportFileMetadataModel" label="${message:file-metadata}"/> </t:zone> .......... </t:ajaxformloop> <input type="submit" value="Update"/> As soon as I add the zone parameter to the 1st select & reload, I get a NPE when I attempt to change the value in the 1st select. It claims that the currentSetting value is null when attempting to evaluate currentSetting.fileMetadataType. What am I doing wrong?