diff --git a/lib/gnutls_priority.c b/lib/gnutls_priority.c
index 50d3d09..8c32d1c 100644
--- a/lib/priority.c
+++ b/lib/priority.c
@@ -1217,6 +1217,7 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
 	rmadd_func *fn;
 	bulk_rmadd_func *bulk_fn;
 	bulk_rmadd_func *bulk_given_fn;
+	unsigned int default_set = 0;
 	const cipher_entry_st *centry;
 
 	if (err_pos)
@@ -1236,9 +1237,16 @@ gnutls_priority_init(gnutls_priority_t * priority_cache,
 	(*priority_cache)->min_record_version = 1;
 
 	if (priorities == NULL)
-		priorities = DEFAULT_PRIORITY_STRING;
+	{
+		priorities = "@SYSTEM";
+		default_set = 1;
+	}
 
 	darg = _gnutls_resolve_priorities(priorities);
+	if (darg == NULL && default_set == 1) {
+		priorities = "NORMAL";
+		darg = _gnutls_resolve_priorities(priorities);
+	}
 	if (darg == NULL) {
 		gnutls_assert();
 		goto error;