Some applications depend on the order of initialization steps of the
custom file open dialog.

diff --git a/dlls/commdlg/filedlg95.c b/dlls/commdlg/filedlg95.c
index 8983b65..995e139 100644
--- a/dlls/commdlg/filedlg95.c
+++ b/dlls/commdlg/filedlg95.c
@@ -649,9 +649,9 @@
     /* finally use fixed parent size */
     rectParent.bottom -= help_fixup;
 
-    /* set the size of the child dialog */
-    SetWindowPos(hwndChildDlg, HWND_BOTTOM,
-                 0, 0, rectParent.right, rectParent.bottom, SWP_NOACTIVATE);
+    /* save the size of the parent's client area */
+    rectChild.right = rectParent.right;
+    rectChild.bottom = rectParent.bottom;
 
     /* set the size of the parent dialog */
     AdjustWindowRectEx(&rectParent, GetWindowLongW(hwndParentDlg, GWL_STYLE),
@@ -661,6 +661,10 @@
                  rectParent.right - rectParent.left,
                  rectParent.bottom - rectParent.top,
                  SWP_NOMOVE | SWP_NOZORDER);
+
+    /* set the size of the child dialog */
+    SetWindowPos(hwndChildDlg, HWND_BOTTOM,
+                 0, 0, rectChild.right, rectChild.bottom, SWP_NOACTIVATE);
 }
 
 INT_PTR CALLBACK FileOpenDlgProcUserTemplate(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
@@ -930,11 +934,13 @@
      	   CreateTemplateDialog((FileOpenDlgInfos *)lParam, hwnd);
 
          FILEDLG95_InitControls(hwnd);
-      	 FILEDLG95_FillControls(hwnd, wParam, lParam);
+
          if (fodInfos->DlgInfos.hwndCustomDlg)
              ArrangeCtrlPositions(fodInfos->DlgInfos.hwndCustomDlg, hwnd,
                  (fodInfos->ofnInfos->Flags & (OFN_HIDEREADONLY | OFN_SHOWHELP)) == OFN_HIDEREADONLY);
 
+      	 FILEDLG95_FillControls(hwnd, wParam, lParam);
+
          SendCustomDlgNotificationMessage(hwnd,CDN_INITDONE);
          SendCustomDlgNotificationMessage(hwnd,CDN_FOLDERCHANGE);
          SendCustomDlgNotificationMessage(hwnd,CDN_SELCHANGE);