--- sound-juicer-3.40.0/src/sj-main.c.orig
+++ sound-juicer-3.40.0/src/sj-main.c
@@ -2022,15 +2022,24 @@
      */
     device_changed_cb (sj_settings, SJ_SETTINGS_DEVICE, NULL);
   } else {
-    if (sj_device)
+    if (sj_device) {
+#ifdef __sun
+      if (strstr(sj_device, "/dev/dsk/") != NULL ) {
+        sj_device = g_strdup_printf("/dev/rdsk/%s", sj_device + strlen("/dev/dsk/"));
+      }
+#endif
       set_device (sj_device);
-    else {
+    } else {
       char *d;
 
       /* Mash up the CDDA URIs into a device path */
       if (g_str_has_prefix (uris[0], "cdda://")) {
         gint len;
+#ifdef __sun
+        d = g_strdup_printf ("/dev/rdsk/%s", uris[0] + strlen ("cdda://"));
+#else
         d = g_strdup_printf ("/dev/%s%c", uris[0] + strlen ("cdda://"), '\0');
+#endif
         /* Take last '/' out of path, or set_device thinks it is part of the device name */
       len = strlen (d);
       if (d[len - 1] == '/')