         return ResponseSerializer { _, response, data, error in
             guard error == nil else { return .Failure(error!) }
 
-            guard response?.statusCode ?? -1 != 204 else { return .Success("") }
+            if let response = response where response.statusCode == 204 { return .Success("") }
 
             guard let validData = data else {
                 let failureReason = "String could not be serialized. Input data was nil."

        return ResponseSerializer { _, response, data, error in
            guard error == nil else { return .Failure(error!) }

            guard response?.statusCode ?? -1 != 204 else { return .Success(NSNull()) }

            guard let validData = data where validData.length > 0 else {
                let failureReason = "JSON could not be serialized. Input data was nil or zero length."

        return ResponseSerializer { _, response, data, error in
            guard error == nil else { return .Failure(error!) }

            if let response = response where response.statusCode == 204 { return .Success(NSData()) }

            guard let validData = data else {
                let failureReason = "Data could not be serialized. Input data was nil."
