with logrid .ColumnCount = 3 .RecordssourceType = 1 .Recordsource = 'SomeCursor' .columns(i).ControlSource = 'SomeCursor.Field3' .columns(2).ControlSource = 'SomeCursor.Field1' .columns(3).ControlSource = 'SomeCursor.Field2' endwith ... Function Form::Load this.ViewRequery() function ViewRequery thisform.Grid1.recordsource = '' lcSql = 'select field1,field2,field3 from sometable into cursor SomeCursor' thisform.Grid1.recordsource = 'SomeCursor'After the first requery of the cursor all is well, however on subsequent requeries the columns revert to cursor field order. If I re-assign column controlsources after the requery all is well again. What am I missing?