diff --git a/src/Illuminate/Support/Arr.php b/src/Illuminate/Support/Arr.php
index <HASH>..<HASH> 100755
--- a/src/Illuminate/Support/Arr.php
+++ b/src/Illuminate/Support/Arr.php
@@ -110,9 +110,10 @@ class Arr {
 
 			foreach ($array as $value)
 			{
-				$value = (array) $value;
-
-				$results[] = $value[$segment];
+				if (array_key_exists($segment, $value = (array) $value))
+				{
+					$results[] = $value[$segment];
+				}
 			}
 
 			$array = array_values($results);
diff --git a/tests/Support/SupportHelpersTest.php b/tests/Support/SupportHelpersTest.php
index <HASH>..<HASH> 100755
--- a/tests/Support/SupportHelpersTest.php
+++ b/tests/Support/SupportHelpersTest.php
@@ -133,6 +133,8 @@ class SupportHelpersTest extends PHPUnit_Framework_TestCase {
 		), array_fetch($data, 'comments'));
 
 		$this->assertEquals(array(array('#foo', '#bar'), array('#baz')), array_fetch($data, 'comments.tags'));
+		$this->assertEquals([], array_fetch($data, 'foo'));
+		$this->assertEquals([], array_fetch($data, 'foo.bar'));
 	}
Ensure we can fetch an array with non existing keys