0e3136
diff --git a/modules/ssl/ssl_engine_config.c b/modules/ssl/ssl_engine_config.c
0e3136
index 97778a8..27e7a53 100644
0e3136
--- a/modules/ssl/ssl_engine_config.c
0e3136
+++ b/modules/ssl/ssl_engine_config.c
0e3136
@@ -778,9 +778,11 @@ const char *ssl_cmd_SSLCipherSuite(cmd_parms *cmd,
0e3136
     }
0e3136
     
0e3136
     if (!strcmp("SSL", arg1)) {
0e3136
-        /* always disable null and export ciphers */
0e3136
-        arg2 = apr_pstrcat(cmd->pool, arg2, ":!aNULL:!eNULL:!EXP", NULL);
0e3136
         if (cmd->path) {
0e3136
+            /* Disable null and export ciphers by default, except for PROFILE=
0e3136
+             * configs where the parser doesn't cope. */
0e3136
+            if (strncmp(arg2, "PROFILE=", 8) != 0)
0e3136
+                arg2 = apr_pstrcat(cmd->pool, arg2, ":!aNULL:!eNULL:!EXP", NULL);
0e3136
             dc->szCipherSuite = arg2;
0e3136
         }
0e3136
         else {
0e3136
@@ -1544,8 +1546,10 @@ const char *ssl_cmd_SSLProxyCipherSuite(cmd_parms *cmd,
0e3136
     }
0e3136
     
0e3136
     if (!strcmp("SSL", arg1)) {
0e3136
-        /* always disable null and export ciphers */
0e3136
-        arg2 = apr_pstrcat(cmd->pool, arg2, ":!aNULL:!eNULL:!EXP", NULL);
0e3136
+        /* Disable null and export ciphers by default, except for PROFILE=
0e3136
+         * configs where the parser doesn't cope. */
0e3136
+        if (strncmp(arg2, "PROFILE=", 8) != 0)
0e3136
+            arg2 = apr_pstrcat(cmd->pool, arg2, ":!aNULL:!eNULL:!EXP", NULL);
0e3136
         dc->proxy->auth.cipher_suite = arg2;
0e3136
         return NULL;
0e3136
     }