diff --git a/handlers/views_handler_field_numeric.inc b/handlers/views_handler_field_numeric.inc
index d10d3d0..366fb7f 100644
--- a/handlers/views_handler_field_numeric.inc
+++ b/handlers/views_handler_field_numeric.inc
@@ -121,7 +121,7 @@ class views_handler_field_numeric extends views_handler_field {
     }
 
     // Check to see if hiding should happen before adding prefix and suffix.
-    if ($this->options['hide_empty'] && empty($value) && ($value !== 0 || $this->options['empty_zero'])) {
+    if (empty($value) && ($value !== 0 || $this->options['empty_zero'])) {
       return '';
     }
 
diff --git a/tests/handlers/views_handler_field_numeric.test b/tests/handlers/views_handler_field_numeric.test
new file mode 100644
index 0000000..9e8f700
--- /dev/null
+++ b/tests/handlers/views_handler_field_numeric.test
@@ -0,0 +1,76 @@
+<?php
+
+/**
+ * @file
+ * Definition of ViewsHandlerFieldNumericTest.
+ */
+
+/**
+ * Tests the numeric field handler
+ *
+ * @see views_handler_field_numeric
+ */
+class ViewsHandlerFieldNumericTest extends ViewsSqlTest {
+  public static function getInfo() {
+    return array(
+      'age' => 'Field',
+      'description' => 'Test the core views_handler_field_numeric handler.',
+      'group' => 'Views Handlers',
+    );
+  }
+
+  protected function setUp() {
+    parent::setUp();
+    $this->column_map = array(
+      'views_test_name' => 'name',
+      'views_test_age' => 'age',
+    );
+  }
+
+  /**
+   * Tests the empty functionality.
+   *
+   * This test is required on top of ViewsHandlerFieldTest because
+   * views_handler_field_numerc does extra logic to determine if a field is
+   * empty. This tests alters the result to get easier and less coupled results.
+   */
+  function testEmpty() {
+    $view = $this->getBasicView();
+    $view->init_display();
+    $this->executeView($view);
+
+    $column_map_reversed = array_flip($this->column_map);
+    $view->row_index = 0;
+
+    // Set up some settings
+    $view->field['age']->options['empty'] = '';
+    $view->field['age']->options['hide_empty'] = FALSE;
+    $view->field['age']->options['hide_alter_empty'] = FALSE;
+
+    // Set 'Treat zero as empty' to FALSE
+    $view->field['age']->options['empty_zero'] = FALSE;
+
+    // Test zero as an integer.
+    $view->result[0]->{$column_map_reversed['age']} = 0;
+    $render = $view->field['age']->render($view->result[0]);
+    $this->assertIdentical($render, '0', 'By default, 0 should not be treated as empty.');
+
+    // Test an empty value.
+    $view->result[0]->{$column_map_reversed['age']} = '';
+    $render = $view->field['age']->render($view->result[0]);
+    $this->assertIdentical($render, '', 'An empty value should always be rendered as empty.');
+
+    // Set 'Treat zero as empty' to TRUE
+    $view->field['age']->options['empty_zero'] = TRUE;
+
+    // Test zero as an integer.
+    $view->result[0]->{$column_map_reversed['age']} = 0;
+    $render = $view->field['age']->render($view->result[0]);
+    $this->assertIdentical($render, '', 'With empty_zero set to true, 0 should be treated as empty.');
+
+    // Test an empty value.
+    $view->result[0]->{$column_map_reversed['age']} = '';
+    $render = $view->field['age']->render($view->result[0]);
+    $this->assertIdentical($render, '', 'An empty value should always be rendered as empty.');
+  }
+}
diff --git a/views.info b/views.info
index 5802e22..fe83a9a 100644
--- a/views.info
+++ b/views.info
@@ -260,6 +260,7 @@ files[] = tests/handlers/views_handler_field_counter.test
 files[] = tests/handlers/views_handler_field_date.test
 files[] = tests/handlers/views_handler_field_file_size.test
 files[] = tests/handlers/views_handler_field_math.test
+files[] = tests/handlers/views_handler_field_numeric.test
 files[] = tests/handlers/views_handler_field_url.test
 files[] = tests/handlers/views_handler_field_xss.test
 files[] = tests/handlers/views_handler_filter_combine.test
