diff --git a/src/i830_driver.c b/src/i830_driver.c
index 7818ee4..95d1df4 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -2005,13 +2005,6 @@ RestoreHWState(ScrnInfoPtr pScrn)
 #ifdef XF86DRI
    I830DRISetVBlankInterrupt (pScrn, FALSE);
 #endif
-   /* Disable outputs */
-   for (i = 0; i < xf86_config->num_output; i++) {
-      xf86OutputPtr   output = xf86_config->output[i];
-      output->funcs->dpms(output, DPMSModeOff);
-   }
-   i830WaitForVblank(pScrn);
-   
    /* Disable pipes */
    for (i = 0; i < xf86_config->num_crtc; i++) {
       xf86CrtcPtr crtc = xf86_config->crtc[i];
@@ -3091,11 +3084,6 @@ I830EnterVT(int scrnIndex, int flags)
    memset(pI830->FbBase + pScrn->fbOffset, 0,
 	  pScrn->virtualY * pScrn->displayWidth * pI830->cpp);
 
-   for (o = 0; o < config->num_output; o++) {
-   	xf86OutputPtr  output = config->output[o];
-	output->funcs->dpms(output, DPMSModeOff);
-   }
-
    if (!xf86SetDesiredModes (pScrn))
       return FALSE;
    
diff --git a/src/i830_lvds.c b/src/i830_lvds.c
index a3a56f7..3e90442 100644
--- a/src/i830_lvds.c
+++ b/src/i830_lvds.c
@@ -512,6 +512,8 @@ i830_lvds_mode_set(xf86OutputPtr output, DisplayModePtr mode,
     /* The LVDS pin pair will already have been turned on in
      * i830_crtc_mode_set since it has a large impact on the DPLL settings.
      */
+    OUTREG(PFIT_CONTROL, 0);
+    return;
 
     /* Enable automatic panel scaling for non-native modes so that they fill
      * the screen.  Should be enabled before the pipe is enabled, according to
