diff --git a/OpenSSL/SSL.py b/OpenSSL/SSL.py
index e6a629b..5b748ee 100644
--- a/OpenSSL/SSL.py
+++ b/OpenSSL/SSL.py
@@ -130,9 +130,10 @@
     _num_curves = _lib.EC_get_builtin_curves(_ffi.NULL, 0)
     _curves = _ffi.new('EC_builtin_curve[]', _num_curves)
     if _lib.EC_get_builtin_curves(_curves, _num_curves) == _num_curves:
-        ELLIPTIC_CURVE_DESCRIPTIONS = dict((_ffi.string(_lib.OBJ_nid2sn(c.nid)),
-                                            _ffi.string(c.comment))
-                                           for c in _curves)
+        ELLIPTIC_CURVE_DESCRIPTIONS = dict(
+            (_ffi.string(_lib.OBJ_nid2sn(c.nid)).decode('ascii'),
+             _ffi.string(c.comment).decode('utf-8'))
+            for c in _curves)
     del _num_curves
     del _curves
 
@@ -625,7 +626,7 @@
         :return: None
         """
         if _lib.Cryptography_HAS_EC:
-            nid = _lib.OBJ_sn2nid(curve_name)
+            nid = _lib.OBJ_sn2nid(curve_name.encode('ascii'))
             if nid == _lib.NID_undef:
                 raise ValueError("No such OpenSSL object '%s'" % curve_name)
             ecdh = _lib.EC_KEY_new_by_curve_name(nid)
