diff --git a/src/Avalonia.Base/Data/Converters/FuncValueConverter.cs b/src/Avalonia.Base/Data/Converters/FuncValueConverter.cs
index c0a3c6ad0f..2385d4981c 100644
--- a/src/Avalonia.Base/Data/Converters/FuncValueConverter.cs
+++ b/src/Avalonia.Base/Data/Converters/FuncValueConverter.cs
@@ -26,7 +26,7 @@ namespace Avalonia.Data.Converters
///
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
- if (value is TIn || (value == null && TypeUtilities.AcceptsNull()))
+ if (TypeUtilities.CanCast(value))
{
return _convert((TIn)value);
}