buffer, which is currently hardcoded at 720x480 */
 
        v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std, *norm);
+       dev->std_set_in_tuner_core = 1;
        return 0;
 }
 
 
        dev->ctrl_freq = freq->frequency;
 
+       if (dev->std_set_in_tuner_core == 0) {
+         /* If we've never sent the standard in tuner core, do so now.  We
+            don't do this at device probe because we don't want to incur
+            the cost of a firmware load */
+         v4l2_device_call_all(&dev->v4l2_dev, 0, core, s_std,
+                              dev->vdev->tvnorms);
+         dev->std_set_in_tuner_core = 1;
+       }
+
        v4l2_device_call_all(&dev->v4l2_dev, 0, tuner, s_frequency, freq);
 
        au0828_analog_stream_reset(dev);
 
        unsigned int frame_count;
        int ctrl_freq;
        int input_type;
+       int std_set_in_tuner_core;
        unsigned int ctrl_input;
        enum au0828_dev_state dev_state;
        enum au0828_stream_state stream_state;