Index: grig-0.8.0/src/main.c
===================================================================
--- grig-0.8.0.orig/src/main.c	2011-06-27 06:02:28.000000000 -0400
+++ grig-0.8.0/src/main.c	2013-04-21 16:34:26.187528262 -0400
@@ -178,15 +178,6 @@
 	g_free (fname);
 
 
-	/* initialize threads; according to glib docs, this call will terminate
-	   the program if threads are not supported... then why doesn''t it work
-	   on FreeBSD?
-	*/
-	if (!g_thread_supported ())
-		g_thread_init (NULL);
-
-
-
 	/* decode command line arguments; this part of the code only sets the
 	   global flags and variables, whereafter we check each variable in
 	   descending priority order. This way it is easy to exit the program
Index: grig-0.8.0/src/rig-daemon.c
===================================================================
--- grig-0.8.0.orig/src/rig-daemon.c	2011-06-19 17:38:23.000000000 -0400
+++ grig-0.8.0/src/rig-daemon.c	2013-04-21 16:42:16.860276677 -0400
@@ -46,6 +46,7 @@
  *
  */
 #include <gtk/gtk.h>
+#include <glib.h>
 #include <glib/gi18n.h>
 #include <hamlib/rig.h>
 #include <string.h>
@@ -637,7 +638,7 @@
 	}
 	else {
 
-		g_thread_create (rig_daemon_cycle, NULL, FALSE, &err);
+		g_thread_try_new ("some thread", rig_daemon_cycle, NULL, &err);
 
 		/* check whether any error occurred when starting the daemon
 		   thread; if yes, close rig and return with error code
