diff --git a/pkgs/os-specific/linux/kvm/smbd-path.patch b/pkgs/os-specific/linux/kvm/smbd-path.patch
index 8535c28811dd..5844ebefcf51 100644
--- a/pkgs/os-specific/linux/kvm/smbd-path.patch
+++ b/pkgs/os-specific/linux/kvm/smbd-path.patch
@@ -1,6 +1,23 @@
 diff -rc kvm-57-orig/qemu/vl.c kvm-57/qemu/vl.c
 *** kvm-57-orig/qemu/vl.c	2007-12-18 16:57:46.000000000 +0100
---- kvm-57/qemu/vl.c	2008-08-26 13:01:39.000000000 +0200
+--- kvm-57/qemu/vl.c	2008-08-26 13:17:57.000000000 +0200
+***************
+*** 141,147 ****
+  #ifdef __sun__
+  #define SMBD_COMMAND "/usr/sfw/sbin/smbd"
+  #else
+! #define SMBD_COMMAND "/usr/sbin/smbd"
+  #endif
+  
+  //#define DEBUG_UNUSED_IOPORT
+--- 141,147 ----
+  #ifdef __sun__
+  #define SMBD_COMMAND "/usr/sfw/sbin/smbd"
+  #else
+! #define SMBD_COMMAND "smbd"
+  #endif
+  
+  //#define DEBUG_UNUSED_IOPORT
 ***************
 *** 3828,3838 ****
           slirp_init();
@@ -28,26 +45,4 @@ diff -rc kvm-57-orig/qemu/vl.c kvm-57/qemu/vl.c
       }
       snprintf(smb_conf, sizeof(smb_conf), "%s/%s", smb_dir, "smb.conf");
   
-***************
-*** 3865,3872 ****
-      fclose(f);
-      atexit(smb_exit);
-  
-      snprintf(smb_cmdline, sizeof(smb_cmdline), "%s -s %s",
-!              SMBD_COMMAND, smb_conf);
-  
-      slirp_add_exec(0, smb_cmdline, 4, 139);
-  }
---- 3867,3877 ----
-      fclose(f);
-      atexit(smb_exit);
-  
-+     char *smbd_command = getenv("QEMU_SMBD_COMMAND");
-+     if (!smbd_command) smbd_command = SMBD_COMMAND;
-+ 
-      snprintf(smb_cmdline, sizeof(smb_cmdline), "%s -s %s",
-!              smbd_command, smb_conf);
-  
-      slirp_add_exec(0, smb_cmdline, 4, 139);
-  }
 Only in kvm-57/qemu: vl.c~