diff --git a/src/common/slurm_protocol_api.c b/src/common/slurm_protocol_api.c
index fc9f371f205faf3db0100af98ceeed4f94f5e724..58c43df7c6341d438f6f27d4bbd06eadbd704db4 100644
--- a/src/common/slurm_protocol_api.c
+++ b/src/common/slurm_protocol_api.c
@@ -35,7 +35,7 @@ int slurm_set_api_config ( slurm_protocol_config_t * protocol_conf )
 
 slurm_protocol_config_t * slurm_get_api_config ( )
 {
-	return NULL ;
+	return proto_conf ;
 }
 
 int slurm_api_set_default_config ( )
@@ -653,3 +653,8 @@ int slurm_send_only_node_msg ( slurm_msg_t * request_msg )
 
         return SLURM_SUCCESS ;
 }
+
+short int slurm_get_slurmd_port ( )
+{
+	return slurmctld_conf . slurmctld_port ;
+}
diff --git a/src/common/slurm_protocol_api.h b/src/common/slurm_protocol_api.h
index b17668fcb6e46f64b99ee33ec0851b8d73f1fb60..d84d5e379c50fc09b95159968c29d808f76357fe 100644
--- a/src/common/slurm_protocol_api.h
+++ b/src/common/slurm_protocol_api.h
@@ -160,4 +160,5 @@ int slurm_send_recv_controller_msg ( slurm_msg_t * request_msg , slurm_msg_t * r
 int slurm_send_only_controller_msg ( slurm_msg_t * request_msg ) ;
 int slurm_send_only_node_msg ( slurm_msg_t * request_msg ) ;
 
+short int inline slurm_get_slurmd_port ( ) ;
 #endif
diff --git a/src/slurmd/Makefile.am b/src/slurmd/Makefile.am
index 10dde4d5c0df492d51709a85e6d19e0073f2b07b..ba01a920df2420bb297b6311b3bcd7c758e43576 100644
--- a/src/slurmd/Makefile.am
+++ b/src/slurmd/Makefile.am
@@ -5,7 +5,8 @@ AUTOMAKE_OPTIONS = foreign
 
 sbin_PROGRAMS = slurmd
 
-LDADD = $(top_srcdir)/src/common/libcommon.la 
+LDADD = $(top_srcdir)/src/common/libcommon.la \
+	$(SSL_LIBS)
 
 
 slurmd_SOURCES = slurmd.c \
diff --git a/src/slurmd/slurmd.c b/src/slurmd/slurmd.c
index b7ced7509226d668bcce7475677cbf0001014d06..23eb9aff798f4c3671fdfa32aa1f94c75ed4aa9a 100644
--- a/src/slurmd/slurmd.c
+++ b/src/slurmd/slurmd.c
@@ -52,7 +52,6 @@
 
 time_t init_time;
 slurmd_shmem_t * shmem_seg ;
-static slurm_ctl_conf_t slurmctld_conf;
 
 /* function prototypes */
 void * request_thread ( void * arg ) ;
@@ -150,7 +149,7 @@ int slurmd_msg_engine ( void * args )
 	if ( ( error_code = read_slurm_port_config ( ) ) )
 		fatal ("slurmd: error reading configuration file \n", error_code);
 
-	if ( ( sockfd = slurm_init_msg_engine_port ( slurmctld_conf.slurmd_port ) )
+	if ( ( sockfd = slurm_init_msg_engine_port ( slurm_get_slurmd_port ( ) ) )
 			 == SLURM_SOCKET_ERROR )
 		fatal ("slurmd: error starting message engine \n", errno);
 #ifdef PTHREAD_IMPL