diff --git a/configure.ac b/configure.ac
index 6ae8c3205b648f44209bb32a0336cc89d8c8e492..e08af5abfb360a6b744fd1b6422326d94f78796e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -632,7 +632,7 @@ fi
 AC_PROG_GCC_TRADITIONAL
 AC_FUNC_MEMCMP
 AC_FUNC_SELECT_ARGTYPES
-AC_CHECK_FUNCS([dup2 getspnam getusershell memset putenv select socket strdup clearenv strlcpy strlcat daemon basename _getpty getaddrinfo freeaddrinfo getnameinfo fork writev])
+AC_CHECK_FUNCS([dup2 getpass getspnam getusershell memset putenv select socket strdup clearenv strlcpy strlcat daemon basename _getpty getaddrinfo freeaddrinfo getnameinfo fork writev])
 
 AC_SEARCH_LIBS(basename, gen, AC_DEFINE(HAVE_BASENAME))
 
diff --git a/options.h b/options.h
index 6b877621763c0e30baf5753508168ccf5bbf7b64..c2db3d8d46b520d79109804ebd7fa944bd9fa8a1 100644
--- a/options.h
+++ b/options.h
@@ -220,9 +220,12 @@ If you test it please contact the Dropbear author */
 #define ENABLE_SVR_PUBKEY_OPTIONS
 #endif
 
+/* This requires getpass. */
+#ifdef HAVE_GETPASS
 #define ENABLE_CLI_PASSWORD_AUTH
-#define ENABLE_CLI_PUBKEY_AUTH
 #define ENABLE_CLI_INTERACT_AUTH
+#endif
+#define ENABLE_CLI_PUBKEY_AUTH
 
 /* A default argument for dbclient -i <privatekey>. 
 Homedir is prepended unless path begins with / */