NSErrorMake was grabbing a mutableCopy of the userinfo but if this was nil, you'd get no useful error logging at all. The fix will always return a mutable dictionary, ensuring the message is always presented for logging.