--- a/source3/lib/smbconf/smbconf_init.c
+++ b/source3/lib/smbconf/smbconf_init.c
@@ -68,9 +68,12 @@ sbcErr smbconf_init(TALLOC_CTX *mem_ctx,
 		}
 	}
 
+#ifdef REGISTRY_BACKEND
 	if (strequal(backend, "registry") || strequal(backend, "reg")) {
 		err = smbconf_init_reg(mem_ctx, conf_ctx, path);
-	} else if (strequal(backend, "file") || strequal(backend, "txt")) {
+	} else
+#endif
+	if (strequal(backend, "file") || strequal(backend, "txt")) {
 		err = smbconf_init_txt(mem_ctx, conf_ctx, path);
 	} else if (sep == NULL) {
 		/*
--- a/source3/lib/netapi/serverinfo.c
+++ b/source3/lib/netapi/serverinfo.c
@@ -557,7 +557,10 @@ static WERROR NetServerSetInfo_l_1005(st
 		return WERR_INVALID_PARAM;
 	}
 
-	if (!lp_config_backend_is_registry()) {
+#ifdef REGISTRY_BACKEND
+	if (!lp_config_backend_is_registry())
+#endif
+	{
 		libnetapi_set_error_string(ctx,
 			"Configuration manipulation requested but not "
 			"supported by backend");
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -1230,8 +1230,10 @@ extern void build_options(bool screen);
 		exit(1);
 	}
 
+#ifdef REGISTRY_BACKEND
 	if (!W_ERROR_IS_OK(registry_init_full()))
 		exit(1);
+#endif
 
 	/* Open the share_info.tdb here, so we don't have to open
 	   after the fork on every single connection.  This is a small