diff
7   JERRY_ASSERT (func_obj_p != NULL && !ecma_is_lexical_environment (func_obj_p));
+   if (func_obj_p == NULL)
+   {
+       result = ecma_raise_type_error (ECMA_ERR_ARGUMENT_IS_NULL);
+   }
+   else
+   {
20     switch (ecma_get_object_type (func_obj_p))
    {
      // ... existing cases ...
+     default:
+         result = ecma_raise_type_error (ECMA_ERR_INVALID_OBJECT_TYPE);
+         break;
    }
+   }
