diff --git a/system/libraries/Config.php b/system/libraries/Config.php
index 85b2957..bd13833 100644
--- a/system/libraries/Config.php
+++ b/system/libraries/Config.php
@@ -53,7 +53,7 @@
 	 *
 	 * @access	public
 	 * @param	string	the config file name
-	 * @return	void
+	 * @return	boolean	if the file was loaded correctly
 	 */	
 	function load($file = '')
 	{
@@ -61,7 +61,7 @@
 	
 		if (in_array($file, $this->is_loaded))
 		{                
-			return;
+			return TRUE;
 		}
 	
 		include_once(APPPATH.'config/'.$file.EXT);
@@ -77,6 +77,7 @@
 		unset($config);
 
 		log_message('debug', 'Config file loaded: config/'.$file.EXT);
+		return TRUE;
 	}
   	// END load()
   	
diff --git a/system/libraries/Router.php b/system/libraries/Router.php
index b28ead9..2219f57 100644
--- a/system/libraries/Router.php
+++ b/system/libraries/Router.php
@@ -254,12 +254,14 @@
 	 */	
 	function _filter_uri($str)
 	{
-		 if ( ! preg_match("/^[a-z0-9~\s\%\.:_-]+$/i", $str))
-		 { 
-			exit('The URI you submitted has disallowed characters: '.$str);
-		 }
-		 
-		 return $str;
+		if ($this->config->item('permitted_uri_chars') != '')
+		{
+			if ( ! preg_match("|^[".preg_quote($this->config->item('permitted_uri_chars'))."]+$|i", $str))
+			{ 
+				exit('The URI you submitted has disallowed characters: '.$str);
+			}
+		}	
+			return $str;
 	}
 	// END _filter_uri()