diff --git a/packages/x-date-pickers/src/internals/hooks/useMaskedInput.tsx b/packages/x-date-pickers/src/internals/hooks/useMaskedInput.tsx index 80d2b7ee3c36..965399773eaa 100644 --- a/packages/x-date-pickers/src/internals/hooks/useMaskedInput.tsx +++ b/packages/x-date-pickers/src/internals/hooks/useMaskedInput.tsx @@ -95,7 +95,13 @@ export const useMaskedInput = ({ const newParsedValue = rawValue === null ? null : utils.date(rawValue); const isAcceptedValue = rawValue === null || utils.isValid(newParsedValue); - if (!localeHasChanged && (!isAcceptedValue || utils.isEqual(innerInputValue, newParsedValue))) { + const innerEqualsParsed = + innerInputValue === null + ? newParsedValue === null + : newParsedValue !== null && + Math.abs(utils.getDiff(innerInputValue, newParsedValue, 'seconds')) === 0; + + if (!localeHasChanged && (!isAcceptedValue || innerEqualsParsed)) { return; }