directory_map() ... the final one
diff --git a/system/helpers/directory_helper.php b/system/helpers/directory_helper.php
index e90c92d..49dcfc8 100644
--- a/system/helpers/directory_helper.php
+++ b/system/helpers/directory_helper.php
@@ -69,9 +69,10 @@
 					continue;
 				}
 
+				@is_dir($source_dir.$file) AND $file .= DIRECTORY_SEPARATOR;
+
 				if (($directory_depth < 1 OR $new_depth > 0) && @is_dir($source_dir.$file))
 				{
-					$file .= DIRECTORY_SEPARATOR;
 					$filedata[$file] = directory_map($source_dir.$file, $new_depth, $hidden);
 				}
 				else
diff --git a/tests/codeigniter/helpers/directory_helper_test.php b/tests/codeigniter/helpers/directory_helper_test.php
index b7d5266..41370e6 100644
--- a/tests/codeigniter/helpers/directory_helper_test.php
+++ b/tests/codeigniter/helpers/directory_helper_test.php
@@ -30,7 +30,7 @@
 		$expected = array(
 			'libraries/' => array(
 				'benchmark.html',
-				'database' => array('active_record.html', 'binds.html'),
+				'database/' => array('active_record.html', 'binds.html'),
 				'email.html',
 				'0'
 			)