diff --git a/sound/synth/emux/emux.c b/sound/synth/emux/emux.c
index 9e2b4c0..2aacd8a 100644
--- a/sound/synth/emux/emux.c
+++ b/sound/synth/emux/emux.c
@@ -66,6 +66,29 @@
 
 /*
  */
+static int sf_sample_new(void *private_data, snd_sf_sample_t *sp,
+			 snd_util_memhdr_t *hdr,
+			 const void __user *buf, long count)
+{
+	snd_emux_t *emu = private_data;
+	return emu->ops.sample_new(emu, sp, hdr, buf, count);
+	
+}
+
+static int sf_sample_free(void *private_data, snd_sf_sample_t *sp,
+			  snd_util_memhdr_t *hdr)
+{
+	snd_emux_t *emu = private_data;
+	return emu->ops.sample_free(emu, sp, hdr);
+	
+}
+
+static void sf_sample_reset(void *private_data)
+{
+	snd_emux_t *emu = private_data;
+	emu->ops.sample_reset(emu);
+}
+
 int snd_emux_register(snd_emux_t *emu, snd_card_t *card, int index, char *name)
 {
 	int err;
@@ -85,9 +108,12 @@
 	/* create soundfont list */
 	memset(&sf_cb, 0, sizeof(sf_cb));
 	sf_cb.private_data = emu;
-	sf_cb.sample_new = (snd_sf_sample_new_t)emu->ops.sample_new;
-	sf_cb.sample_free = (snd_sf_sample_free_t)emu->ops.sample_free;
-	sf_cb.sample_reset = (snd_sf_sample_reset_t)emu->ops.sample_reset;
+	if (emu->ops.sample_new)
+		sf_cb.sample_new = sf_sample_new;
+	if (emu->ops.sample_free)
+		sf_cb.sample_free = sf_sample_free;
+	if (emu->ops.sample_reset)
+		sf_cb.sample_reset = sf_sample_reset;
 	emu->sflist = snd_sf_new(&sf_cb, emu->memhdr);
 	if (emu->sflist == NULL)
 		return -ENOMEM;
