Ext.define('SenchaFront.form.ProfileForm', {
    extend: 'Ext.form.Panel',
    xtype: 'profileform',
    searchTimeout: 1000, // how long to wait after a keyup event before searching
    stationStore: null,
    station: null,
    searchTask: Ext.create('Ext.util.DelayedTask',
        function (form, searchText) {
            form.stationStore.filter('stationName', searchText);
            var newStation = null;
            if (searchText != "") {
                if (form.stationStore.getCount() > 0) {
                    // for now use the first result
                    newStation = form.stationStore.first();
                }
            }

            form.setStation(newStation);

            form.stationStore.clearFilter();
        }
    ),

    setStation: function (station) {
        this.station = station;
        if (station != null)
            this.getComponent('stationTextField').setValue(station.get('stationName'));
    },

    config: {
        title: 'Edit Profile',
        id: 'profileForm',
        
        items: [
            {
                name: 'name',
                xtype: 'textfield',
                label: 'Name'
            },
            {
                name: 'station',
                xtype: 'textfield',
                label: 'Station',
                itemId: 'stationTextField',
                listeners: {
                    keyup: function (field) {
                        var form = field.getParent();
                        var value = field.getValue();

                        form.searchTask.setArgs([form, value]);
                        form.searchTask.delay(form.searchTimeout);
                    }
                }
            },
            {
                xtype: 'button',
                text: 'Submit',
                ui: 'confirm',
                itemId: 'submitButton'
            }
        ],
        listeners: {
            show: function (form) {
                form.stationStore = Ext.StoreManager.get('stations');

                // This is nice, but it sends a request to the server
                form.getRecord().getStation(function(s) {
                    form.setStation(s)
                });
            }
        }
    }
});

@@ -1937,36 +1937,36 @@
                 
-form
+this
 .stationStore = 
@@ -1999,17 +1999,16 @@
 ions');%0A
-%0A
         
@@ -2022,58 +2022,57 @@
  // 
-This is nice, but it sends a request to
+Load information about the station from
  the s
-erver
+tore
 %0A   
@@ -2079,24 +2079,40 @@
             
+ var stationId =
  form.getRec
@@ -2124,34 +2124,24 @@
 .get
-S
+('s
 tation
-(function(s) %7B%0A    
+_id');%0A
     
@@ -2144,36 +2144,36 @@
                 
-form
+this
 .setStation(s)%0A 
@@ -2172,28 +2172,44 @@
 ion(
-s)%0A                %7D
+this.stationStore.getById(stationId)
 );%0A 

Revert "Load station from record (sends server request...)"