diff --git a/dlls/comctl32/treeview.c b/dlls/comctl32/treeview.c
index 40964c5..a645f43 100644
--- a/dlls/comctl32/treeview.c
+++ b/dlls/comctl32/treeview.c
@@ -1161,7 +1161,7 @@
 static LRESULT
 TREEVIEW_InsertItemT(TREEVIEW_INFO *infoPtr, const TVINSERTSTRUCTW *ptdi, BOOL isW)
 {
-    const TVITEMEXW *tvItem = &ptdi->DUMMYUNIONNAME.itemex;
+    const TVITEMEXW *tvItem = &ptdi->u.itemex;
     HTREEITEM insertAfter;
     TREEVIEW_ITEM *newItem, *parentItem;
     BOOL bTextUpdated = FALSE;
diff --git a/dlls/msi/suminfo.c b/dlls/msi/suminfo.c
index 3dd4af2..a2f1c6c 100644
--- a/dlls/msi/suminfo.c
+++ b/dlls/msi/suminfo.c
@@ -180,7 +180,7 @@
         return ERROR_INVALID_HANDLE;
 
     spec.ulKind = PRSPEC_PROPID;
-    spec.DUMMYUNIONNAME.propid = uiProperty;
+    spec.u.propid = uiProperty;
 
     r = IPropertyStorage_ReadMultiple( suminfo->propstg, 1, &spec, &var);
     if( FAILED(r) )
@@ -193,18 +193,18 @@
     {
     case VT_I4:
         if( piValue )
-            *piValue = var.DUMMYUNIONNAME.lVal;
+            *piValue = var.u.lVal;
         break;
     case VT_LPSTR:
         if( pcchValueBuf && szValueBuf )
         {
-            lstrcpynA(szValueBuf, var.DUMMYUNIONNAME.pszVal, *pcchValueBuf );
-            *pcchValueBuf = lstrlenA( var.DUMMYUNIONNAME.pszVal );
+            lstrcpynA(szValueBuf, var.u.pszVal, *pcchValueBuf );
+            *pcchValueBuf = lstrlenA( var.u.pszVal );
         }
         break;
     case VT_FILETIME:
         if( pftValue )
-            memcpy(pftValue, &var.DUMMYUNIONNAME.filetime, sizeof (FILETIME) );
+            memcpy(pftValue, &var.u.filetime, sizeof (FILETIME) );
         break;
     case VT_EMPTY:
         break;
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
index a06c2e9..9110ed2 100644
--- a/dlls/shell32/brsfolder.c
+++ b/dlls/shell32/brsfolder.c
@@ -202,7 +202,7 @@
 	lptvid->pEnumIL = pEnumIL;
 	GetNormalAndSelectedIcons(lptvid->lpifq, &tvi);
 
-	tvins.DUMMYUNIONNAME.item         = tvi;
+	tvins.u.item       = tvi;
 	tvins.hInsertAfter = NULL;
 	tvins.hParent      = hParent;
 
