diff -urN motion-3.2.11.1.org/motion.c motion-3.2.11.1/motion.c
--- motion-3.2.11.1.org/motion.c	Mon Aug 10 04:00:46 2009
+++ motion-3.2.11.1/motion.c	Tue Apr 27 10:03:27 2010
@@ -967,6 +967,14 @@
     for (j = 0; j < rolling_average_limit; j++)
         rolling_average_data[j] = required_frame_time;
 
+#ifdef __OpenBSD__
+    /* FIXMARK 
+     * Fixes zombie issue on OpenBSD 4.6
+     */
+    struct sigaction sig_handler_action;
+    struct sigaction sigchild_action;
+    setup_signals(&sig_handler_action, &sigchild_action);
+#endif 
 
     /* MAIN MOTION LOOP BEGINS HERE */
     /* Should go on forever... unless you bought vaporware :) */
diff -urN motion-3.2.11.1.org/video_freebsd.h motion-3.2.11.1/video_freebsd.h
--- motion-3.2.11.1.org/video_freebsd.h	Mon Aug 10 04:00:46 2009
+++ motion-3.2.11.1/video_freebsd.h	Tue Apr 27 09:59:19 2010
@@ -14,6 +14,8 @@
 
 #ifdef __NetBSD__
 #include <dev/ic/bt8xx.h>
+#elif __OpenBSD__
+#include <dev/ic/bt8xx.h>
 #elif defined(OLD_BKTR)
 #include <machine/ioctl_meteor.h>
 #include <machine/ioctl_bt848.h>
