diff --git a/apps/s_client.c b/apps/s_client.c
index 8d78dc7..ba411f2 100644
--- a/apps/s_client.c
+++ b/apps/s_client.c
@@ -925,6 +925,13 @@
             srp_arg.amp = 1;
             meth = TLSv1_client_method();
             break;
+#else
+        case OPT_SRPUSER:
+        case OPT_SRPPASS:
+        case OPT_SRP_STRENGTH:
+        case OPT_SRP_LATEUSER:
+        case OPT_SRP_MOREGROUPS:
+            break;
 #endif
 #ifndef OPENSSL_NO_SSL3
         case OPT_SSL3:
diff --git a/apps/s_server.c b/apps/s_server.c
index c54caa6..2ef902a 100644
--- a/apps/s_server.c
+++ b/apps/s_server.c
@@ -1317,6 +1317,10 @@
             srpuserseed = opt_arg();
             meth = TLSv1_server_method();
             break;
+#else
+        case OPT_SRPVFILE:
+        case OPT_SRPUSERSEED:
+            break;
 #endif
         case OPT_REV:
             rev = 1;
diff --git a/apps/srp.c b/apps/srp.c
index ec875cb..6c50a6e 100644
--- a/apps/srp.c
+++ b/apps/srp.c
@@ -680,4 +680,10 @@
     return (ret);
 }
 
+#else
+
+# if PEDANTIC
+static void *dummy = &dummy;
+# endif
+
 #endif
diff --git a/include/openssl/srp.h b/include/openssl/srp.h
index de6631d..3411fe5 100644
--- a/include/openssl/srp.h
+++ b/include/openssl/srp.h
@@ -60,18 +60,22 @@
 #ifndef __SRP_H__
 # define __SRP_H__
 
-# ifndef OPENSSL_NO_SRP
+#include <openssl/opensslconf.h>
 
-#  include <stdio.h>
-#  include <string.h>
+# ifdef OPENSSL_NO_SRP
+#  error SRP is disabled.
+# endif
+
+# include <stdio.h>
+# include <string.h>
 
 #ifdef  __cplusplus
 extern "C" {
 #endif
 
-#  include <openssl/safestack.h>
-#  include <openssl/bn.h>
-#  include <openssl/crypto.h>
+# include <openssl/safestack.h>
+# include <openssl/bn.h>
+# include <openssl/crypto.h>
 
 typedef struct SRP_gN_cache_st {
     char *b64_bn;
@@ -122,25 +126,25 @@
                            BIGNUM **verifier, const BIGNUM *N,
                            const BIGNUM *g);
 
-#  define SRP_NO_ERROR 0
-#  define SRP_ERR_VBASE_INCOMPLETE_FILE 1
-#  define SRP_ERR_VBASE_BN_LIB 2
-#  define SRP_ERR_OPEN_FILE 3
-#  define SRP_ERR_MEMORY 4
+# define SRP_NO_ERROR 0
+# define SRP_ERR_VBASE_INCOMPLETE_FILE 1
+# define SRP_ERR_VBASE_BN_LIB 2
+# define SRP_ERR_OPEN_FILE 3
+# define SRP_ERR_MEMORY 4
 
-#  define DB_srptype      0
-#  define DB_srpverifier  1
-#  define DB_srpsalt      2
-#  define DB_srpid        3
-#  define DB_srpgN        4
-#  define DB_srpinfo      5
-#  undef  DB_NUMBER
-#  define DB_NUMBER       6
+# define DB_srptype      0
+# define DB_srpverifier  1
+# define DB_srpsalt      2
+# define DB_srpid        3
+# define DB_srpgN        4
+# define DB_srpinfo      5
+# undef  DB_NUMBER
+# define DB_NUMBER       6
 
-#  define DB_SRP_INDEX    'I'
-#  define DB_SRP_VALID    'V'
-#  define DB_SRP_REVOKED  'R'
-#  define DB_SRP_MODIF    'v'
+# define DB_SRP_INDEX    'I'
+# define DB_SRP_VALID    'V'
+# define DB_SRP_REVOKED  'R'
+# define DB_SRP_MODIF    'v'
 
 /* see srp.c */
 char *SRP_check_known_gN_param(BIGNUM *g, BIGNUM *N);
@@ -160,11 +164,10 @@
                             BIGNUM *a, BIGNUM *u);
 int SRP_Verify_B_mod_N(BIGNUM *B, BIGNUM *N);
 
-#  define SRP_MINIMAL_N 1024
+# define SRP_MINIMAL_N 1024
 
 #ifdef  __cplusplus
 }
 #endif
 
-# endif
 #endif
diff --git a/ssl/tls_srp.c b/ssl/tls_srp.c
index 7d4fd1d..6bd7845 100644
--- a/ssl/tls_srp.c
+++ b/ssl/tls_srp.c
@@ -60,11 +60,11 @@
 
 #include <openssl/crypto.h>
 #include <openssl/rand.h>
-#include <openssl/srp.h>
 #include <openssl/err.h>
 #include "ssl_locl.h"
 
 #ifndef OPENSSL_NO_SRP
+#include <openssl/srp.h>
 
 int SSL_CTX_SRP_CTX_free(struct ssl_ctx_st *ctx)
 {
