--- B:\sanitize.php	2011-03-08 13:50:46.000000000 +0530
+++ C:\xampp\htdocs\limesurvey\classes\core\sanitize.php	2011-04-06 19:34:08.132812500 +0530
@@ -103,10 +103,12 @@
     $strip = array("~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "=", "+", "[", "{", "]",
                    "}", "\\", "|", ";", ":", "\"", "'", "&#8216;", "&#8217;", "&#8220;", "&#8221;", "&#8211;", "&#8212;",
                    "—", "–", ",", "<", ".", ">", "/", "?");
-    $clean = trim(str_replace($strip, "_", strip_tags($string)));
+    $lastdot=strrpos($string, ".");
+	$clean = trim(str_replace($strip, "_", strip_tags($string)));
     $clean = preg_replace('/\s+/', "-", $clean);
     $clean = ($alphanumeric) ? preg_replace("/[^a-zA-Z0-9]/", "", $clean) : $clean ;
-    return ($force_lowercase) ?
+	$clean= substr_replace ( $clean , '.' , $lastdot , 1 );
+	return ($force_lowercase) ?
         (function_exists('mb_strtolower')) ?
             mb_strtolower($clean, 'UTF-8') :
             strtolower($clean) :
