diff --git a/library/x509_create.c b/library/x509_create.c
index 99115c4..6ce15f9 100644
--- a/library/x509_create.c
+++ b/library/x509_create.c
@@ -289,6 +289,22 @@
         }
 
         if (!in_attr_type && ((*c == ',' && *(c-1) != '\\') || c == end)) {
+#if defined(MBEDTLS_ASN1_PARSE_C)
+            if ((parse_ret =
+                        parse_attribute_value_ber_encoded(s, (int) (c - s), data, &data_len,
+                                                        &tag)) != 0) {
+                if(numericoid) {
+                    return MBEDTLS_ERR_X509_INVALID_NAME;
+                }
+                else {
+                    if ((parse_ret =
+                                parse_attribute_value_string(s, (int) (c - s), data, &data_len)) != 0) {
+                        return parse_ret;
+                    }
+                    tag = attr_descr->default_tag;
+                }
+            }
+#else
             if (!numericoid) {
                 if ((parse_ret =
                          parse_attribute_value_string(s, (int) (c - s), data, &data_len)) != 0) {
@@ -297,16 +313,9 @@
                 tag = attr_descr->default_tag;
             }
             if (numericoid) {
-#if defined(MBEDTLS_ASN1_PARSE_C)
-                if ((parse_ret =
-                         parse_attribute_value_ber_encoded(s, (int) (c - s), data, &data_len,
-                                                           &tag)) != 0) {
-                    return parse_ret;
-                }
-#else
                 return MBEDTLS_ERR_X509_INVALID_NAME;
-#endif
             }
+#endif
             mbedtls_asn1_named_data *cur =
                 mbedtls_asn1_store_named_data(head, oid, strlen(oid),
                                               (unsigned char *) data,
diff --git a/tests/suites/test_suite_x509write.data b/tests/suites/test_suite_x509write.data
index 23a0596..814f8f7 100644
--- a/tests/suites/test_suite_x509write.data
+++ b/tests/suites/test_suite_x509write.data
@@ -218,7 +218,10 @@
 mbedtls_x509_string_to_names:"C=NL, 2.5.4.10=#0C084F6666737061726, OU=PolarSSL":"":MBEDTLS_ERR_X509_INVALID_NAME
 
 X509 String to Names #18 (Invalid OID)
-mbedtls_x509_string_to_names:"C=NL, 10.5.4.10=#0C084F6666737061726, OU=PolarSSL":"":MBEDTLS_ERR_X509_INVALID_NAME
+mbedtls_x509_string_to_names:"C=NL, 10.5.4.10=#0C084F6666737061726B, OU=PolarSSL":"":MBEDTLS_ERR_X509_INVALID_NAME
+
+X509 String to Names #18 (short name and hexstring)
+mbedtls_x509_string_to_names:"C=NL, O=#0C084F6666737061726B, OU=PolarSSL":"C=NL, O=Offspark, OU=PolarSSL":0
 
 X509 String to Names #19 (Escape non-ascii hexpairs)
 mbedtls_x509_string_to_names:"C=NL, O=Of\\00spark, OU=PolarSSL":"C=NL, O=Of\\00spark, OU=PolarSSL":0
