diff --git a/src/libs/zbxnix/sighandler.c b/src/libs/zbxnix/sighandler.c
index e316b24..fbfa65a 100644
--- a/src/libs/zbxnix/sighandler.c
+++ b/src/libs/zbxnix/sighandler.c
@@ -283,11 +283,14 @@
 	sigaction(SIGTERM, &phan, NULL);
 	sigaction(SIGUSR2, &phan, NULL);
 
+/* We'd quite like fatal errors to create core files that allow analysis. */
+#if !defined(__illumos__)
 	phan.sa_sigaction = fatal_signal_handler;
 	sigaction(SIGILL, &phan, NULL);
 	sigaction(SIGFPE, &phan, NULL);
 	sigaction(SIGSEGV, &phan, NULL);
 	sigaction(SIGBUS, &phan, NULL);
+#endif
 
 	phan.sa_sigaction = alarm_signal_handler;
 	sigaction(SIGALRM, &phan, NULL);