When searching backwards where a StartPosition is provided, searching will actually begin from StartPosition - SubStr.Len(), therefore:FString("X").Find("X", ESearchCase::CaseSensitive, ESearchDir::FromEnd, 0) == INDEX_NONE