diff --git a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c
index 178a33f..9f0a68e 100644
--- a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c
+++ b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.c
@@ -15,4 +15,12 @@ void set_slider(int index, float value)
     }
 }
 
-
+float get_slider(int index)
+{
+    if (index >= 0 && index < SLIDERS_MAX) {
+        return slider_array[index];
+    }
+    else {
+        return 0.0/0.0;
+    }
+}
\ No newline at end of file
diff --git a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.h b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.h
index 93f0f85..fa20ecb 100644
--- a/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.h
+++ b/lib-src/libnyquist/nyquist/nyqsrc/sliderdata.h
@@ -10,3 +10,4 @@ extern float slider_array[SLIDERS_MAX];
 
 /* access from the GUI to shared data */
 void set_slider(int index, float value);
+float get_slider(int index);
\ No newline at end of file
diff --git a/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c b/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c
index 7fd9ac6..80ebdbf 100644
--- a/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c
+++ b/lib-src/libnyquist/nyquist/nyqsrc/sndsliders.c
@@ -17,7 +17,7 @@ LVAL xslider_read(void)
     int index = getfixnum(arg);
     xllastarg();
     if (index >= 0 && index < SLIDERS_MAX) {
-        return cvflonum(slider_array[index]);
+        return cvflonum(get_slider(index));
     }
     return NIL;
 }
@@ -91,7 +91,7 @@ void slider__fetch(snd_susp_type a_susp, snd_list_type snd_list)
         }
 
         n = togo;
-        c_reg = slider_array[susp->index];
+        c_reg = get_slider(susp->index);
         out_ptr_reg = out_ptr;
         if (n) do { /* the inner sample computation loop */
             *out_ptr_reg++ = c_reg;