diff --git a/ole/variant.c b/ole/variant.c
index 5490d2285f7dd5db213a77eebb5b6311cd095f1e..ad63734265ebd0d733150c1e7b57de8649e0192d 100644
--- a/ole/variant.c
+++ b/ole/variant.c
@@ -1986,6 +1986,11 @@ HRESULT WINAPI VariantChangeTypeEx(VARIANTARG* pvargDest, VARIANTARG* pvargSrc,
 	 */
 	VariantClear( &varg );
 	
+	/* set the type of the destination
+	 */
+	if ( res == S_OK )
+		pvargDest->vt = vt;
+
 	return res;
 }