Bug fix

when self::__defualt was not null, it would lead to inexpected behaviour