diff --git a/dlls/comctl32/datetime.c b/dlls/comctl32/datetime.c
index 97f8226059213d32c825608d0a6cd118e14dbdb3..aa023578286d83cd1f24b78efeb2787aef905f56 100644
--- a/dlls/comctl32/datetime.c
+++ b/dlls/comctl32/datetime.c
@@ -322,10 +322,12 @@ DATETIME_SetFormatW (DATETIME_INFO *infoPtr, LPCWSTR format)
     if (!format) {
 	DWORD format_item;
 
-	if (infoPtr->dwStyle & DTS_LONGDATEFORMAT)
-	    format_item = LOCALE_SLONGDATE;
-	else if ((infoPtr->dwStyle & DTS_TIMEFORMAT) == DTS_TIMEFORMAT)
-	    format_item = LOCALE_STIMEFORMAT;
+        if ((infoPtr->dwStyle & DTS_SHORTDATECENTURYFORMAT) == DTS_SHORTDATECENTURYFORMAT)
+            format_item = LOCALE_SSHORTDATE;
+        else if ((infoPtr->dwStyle & DTS_LONGDATEFORMAT) == DTS_LONGDATEFORMAT)
+            format_item = LOCALE_SLONGDATE;
+        else if ((infoPtr->dwStyle & DTS_TIMEFORMAT) == DTS_TIMEFORMAT)
+            format_item = LOCALE_STIMEFORMAT;
         else /* DTS_SHORTDATEFORMAT */
 	    format_item = LOCALE_SSHORTDATE;
 	GetLocaleInfoW(LOCALE_USER_DEFAULT, format_item, format_buf, ARRAY_SIZE(format_buf));