diff --git a/programs/avitools/aviplay.c b/programs/avitools/aviplay.c
index 97cab63d2a4154bc81dafcd7048c112e2e8a5779..435f20ddcf441dea0e1000c48ade1efbbdbf724b 100644
--- a/programs/avitools/aviplay.c
+++ b/programs/avitools/aviplay.c
@@ -245,12 +245,12 @@ HRESULT (WINAPI *fnAVIStreamGetFrameClose)(PGETFRAME pg);
 	}
 	/* Argh. AVIs are upside down. */
 	for (i=0;i<dsdesc.dwHeight;i++) {
-	    memcpy( dsdesc.y.lpSurface+(i*dsdesc.lPitch),
+	    memcpy( dsdesc.u1.lpSurface+(i*dsdesc.lPitch),
 		    decodedbits+bytesline*(dsdesc.dwHeight-i-1),
 		    bytesline
 	    );
 	}
-	IDirectDrawSurface_Unlock(dsurf,dsdesc.y.lpSurface);
+	IDirectDrawSurface_Unlock(dsurf,dsdesc.u1.lpSurface);
     }
     tend = time(NULL);
     fnAVIStreamGetFrameClose(vidgetframe);