diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c
index c224c1e03424066b6285f6b98db6dd64c530b951..03b99f68e44b9809826c72ecd86ed1c95e7b729b 100644
--- a/channels/chan_gtalk.c
+++ b/channels/chan_gtalk.c
@@ -47,10 +47,12 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
 #include <arpa/inet.h>
 #include <sys/signal.h>
 #include <iksemel.h>
+#include <pthread.h>
 
+#ifdef HAVE_GNUTLS
 #include <gcrypt.h>
-#include <pthread.h>
 GCRY_THREAD_OPTION_PTHREAD_IMPL;
+#endif /* HAVE_GNUTLS */
 
 #include "asterisk/lock.h"
 #include "asterisk/channel.h"
@@ -1820,7 +1822,9 @@ static int gtalk_load_config(void)
 /*! \brief Load module into PBX, register channel */
 static int load_module(void)
 {
+#ifdef HAVE_GNUTLS	
         gcry_control (GCRYCTL_SET_THREAD_CBS, &gcry_threads_pthread);
+#endif /* HAVE_GNUTLS */
 
 	ASTOBJ_CONTAINER_INIT(&gtalk_list);
 	if (!gtalk_load_config()) {