diff --git a/facetapi_slider.js b/facetapi_slider.js
index 85faeca..031982e 100644
--- a/facetapi_slider.js
+++ b/facetapi_slider.js
@@ -31,8 +31,8 @@ Drupal.facetapi_slider.makeSlider = function($form, settings) {
   $max_span = $wrapper.children('.facetapi-slider-max');
   $wrapper.children('.facetapi-slider').slider({
       range: true,
-      min: settings.sliderMin,
-      max: settings.sliderMax,
+      min: parseFloat(settings.sliderMin),
+      max: parseFloat(settings.sliderMax),
       step: settings.sliderStep,
       values: [settings.sliderMin, settings.sliderMax],
       slide: function(event, ui) {
diff --git a/facetapi_slider.module b/facetapi_slider.module
index 5e1c6f6..f55bf50 100644
--- a/facetapi_slider.module
+++ b/facetapi_slider.module
@@ -77,9 +77,9 @@ function facetapi_widget_form_wrapper($form, &$form_state, $form_id, $adapter, $
 }
 
 function facetapi_widget_form_wrapper_validate($form, &$form_state) {
-  return call_user_func(array($form['#widget_class'], 'widgetFormValidate'), $form, &$form_state);
+  call_user_func_array(array($form['#widget_class'], 'widgetFormValidate'), array($form, &$form_state));
 }
 
 function facetapi_widget_form_wrapper_submit($form, &$form_state) {
-  call_user_func(array($form['#widget_class'], 'widgetFormSubmit'), $form, &$form_state);
+  call_user_func_array(array($form['#widget_class'], 'widgetFormSubmit'), array($form, &$form_state));
 }
diff --git a/plugins/facetapi/widget_slider.inc b/plugins/facetapi/widget_slider.inc
index 21d03db..850319e 100644
--- a/plugins/facetapi/widget_slider.inc
+++ b/plugins/facetapi/widget_slider.inc
@@ -24,11 +24,12 @@ class FacetapiWidgetSlider extends FacetapiWidget {
   public function execute() {
     // Sets the key, captures the facet's render array.
     $this->key = $this->build['#facet']['name'];
-    $slider = $this->build[$this->facet['field alias']][$this->facet['field']];
+    $slider_min = reset($this->facet->getBuild());
+    $slider_min = $slider_min['#indexed_value'];
+    $slider_max = end($this->facet->getBuild());
+    $slider_max = $slider_max['#indexed_value'];
 
     $this->build[$this->facet['field alias']] = drupal_get_form('facetapi_slider_widget_form_' . $this->facet['field alias'], $this->build['#adapter'], $this->build);
-    $slider_min =  $slider['#range_min'];
-    $slider_max =  $slider['#range_max'];
     $this->jsSettings['sliderMin'] = $slider_min;
     $this->jsSettings['sliderMax'] = $slider_max;
     if ($slider_max - $slider_min < 20) {
