Index: formmodel/Repeater.java
===================================================================
--- formmodel/Repeater.java	(revision 594)
+++ formmodel/Repeater.java	(working copy)
@@ -311,6 +311,11 @@
 
     public class RepeaterRow extends AbstractContainerWidget {
 
+        private Object model;
+
+        public Object getModel() { return model; }
+        public void setModel (Object model) { this.model = model; };
+
         public RepeaterRow(RepeaterDefinition definition) {
             super(definition);
             setParent(Repeater.this);
Index: generation/template.jx
===================================================================
--- generation/template.jx	(revision 594)
+++ generation/template.jx	(working copy)
@@ -63,6 +63,7 @@
   <jx:set var="lastRow_" value="${repeater_.length - 1}"/>
   <jx:forEach varStatus="loop_" begin="0" end="${lastRow_}">
       <jx:set var="context_widget_" value="${repeater_.getRow(loop_.index)}"/>
+			<jx:set var="rowModel_" value="${context_widget_.unwrap().model}"/>
       <jx:evalBody/>
   </jx:forEach>
 </jx:macro>
Index: flow/javascript/v2/ScriptableWidget.java
===================================================================
--- flow/javascript/v2/ScriptableWidget.java	(revision 594)
+++ flow/javascript/v2/ScriptableWidget.java	(working copy)
@@ -682,6 +682,18 @@
         }
     }
 
+    public Object jsFunction_getRowModel()
+        throws JavaScriptException
+    {
+        if (delegate instanceof Repeater.RepeaterRow) {
+            return ((Repeater.RepeaterRow) delegate).getModel();
+        } else {
+            throw new JavaScriptException (
+                            "expected a Repeater.RepeaterRow instead of " + delegate
+                        );
+        }
+    }
+
     static final Object[] WIDGET_CLASS_MAP = {
         Form.class, "Form",
         Field.class, "Field",
Index: binding/RepeaterJXPathBinding.java
===================================================================
--- binding/RepeaterJXPathBinding.java	(revision 594)
+++ binding/RepeaterJXPathBinding.java	(working copy)
@@ -121,6 +121,7 @@
             // make a jxpath ObjectModelSubcontext on the iterated element
             Pointer jxp = (Pointer)rowPointers.next();
             JXPathContext rowContext = repeaterContext.getRelativeContext(jxp);
+            thisRow.setModel (rowContext.getValue ("."));
             // hand it over to children
             this.identityBinding.loadFormFromModel(thisRow, rowContext);
             this.rowBinding.loadFormFromModel(thisRow, rowContext);
