diff --git a/phpBB/groupcp.php b/phpBB/groupcp.php
index 98346f02a3..14e7cbe1a7 100644
--- a/phpBB/groupcp.php
+++ b/phpBB/groupcp.php
@@ -170,7 +170,7 @@ else if( isset($HTTP_POST_VARS['joingroup']) && $group_id )
 
 	$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
 
-	$path = (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+	$path = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? ( dirname($HTTP_SERVER_VARS['PATH_INFO']) == "/") ? "" : dirname($HTTP_SERVER_VARS['PATH_INFO']) ) : ( (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) );
 	$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
 	$protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ? ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" ) : "http://";
 
@@ -363,7 +363,7 @@ else if( $group_id )
 
 				$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
 
-				$path = (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+				$path = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? ( dirname($HTTP_SERVER_VARS['PATH_INFO']) == "/") ? "" : dirname($HTTP_SERVER_VARS['PATH_INFO']) ) : ( (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) );
 				$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
 				$protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ?  ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" )  : "http://";
 
@@ -476,7 +476,7 @@ else if( $group_id )
 
 					$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
 
-					$path = (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+					$path = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? ( dirname($HTTP_SERVER_VARS['PATH_INFO']) == "/") ? "" : dirname($HTTP_SERVER_VARS['PATH_INFO']) ) : ( (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) );
 					$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
 					$protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ?  ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" )  : "http://";
 
diff --git a/phpBB/includes/page_header.php b/phpBB/includes/page_header.php
index 192cc8e264..14766d52b4 100644
--- a/phpBB/includes/page_header.php
+++ b/phpBB/includes/page_header.php
@@ -149,7 +149,7 @@ $total_online_users = $logged_visible_online + $logged_hidden_online + $guests_o
 $l_online_users = ( $total_online_users == 1 ) ? sprintf($lang['Online_user_total'], $total_online_users) : sprintf($lang['Online_users_total'], $total_online_users);
 $l_online_users .= ( $logged_visible_online == 1 ) ? sprintf($lang['Reg_user_total'], $logged_visible_online) : sprintf($lang['Reg_users_total'], $logged_visible_online); 
 $l_online_users .= ( $logged_hidden_online == 1 ) ? sprintf($lang['Hidden_user_total'], $logged_hidden_online) : sprintf($lang['Hidden_user_total'], $logged_hidden_online); 
-$l_online_users .= ( $guests_online == 1 ) ? sprintf($lang['Guest_user_total'], $guests_online) : sprintf($lang['Guest_user_total'], $guests_online); 
+$l_online_users .= ( $guests_online == 1 ) ? sprintf($lang['Guest_user_total'], $guests_online) : sprintf($lang['Guest_users_total'], $guests_online); 
 
 //
 // Obtain number of new private messages
diff --git a/phpBB/language/lang_english/lang_main.php b/phpBB/language/lang_english/lang_main.php
index 8e5ea288d6..1b10066dd3 100644
--- a/phpBB/language/lang_english/lang_main.php
+++ b/phpBB/language/lang_english/lang_main.php
@@ -128,7 +128,7 @@ $lang['Reg_user_total'] = "%d Registered, ";
 $lang['Hidden_users_total'] = "%d Hidden and ";
 $lang['Hidden_user_total'] = "%d Hidden and ";
 $lang['Guest_users_total'] = "%d Guests";
-$lang['Guest_user_total'] = "%d Guests";
+$lang['Guest_user_total'] = "%d Guest";
 
 $lang['You_last_visit'] = "You last visited on %s"; // %s replaced by date/time
 $lang['Search_new'] = "View posts since last visit";
diff --git a/phpBB/posting.php b/phpBB/posting.php
index fc68d7b67b..05a17b4f08 100644
--- a/phpBB/posting.php
+++ b/phpBB/posting.php
@@ -1057,7 +1057,7 @@ if( $submit && $mode != "vote" )
 		$post_username = "";
 	}
 
-	$post_subject = trim(strip_tags(str_replace(" ", " ", $HTTP_POST_VARS['subject'])));
+	$post_subject = trim(strip_tags($HTTP_POST_VARS['subject']));
 	if( $mode == 'newtopic' && empty($post_subject) )
 	{
 		$error = TRUE;
@@ -1068,7 +1068,7 @@ if( $submit && $mode != "vote" )
 		$error_msg .= $lang['Empty_subject'];
 	}
 
-	$post_message = trim(str_replace(" ", " ", $HTTP_POST_VARS['message']));
+	$post_message = trim($HTTP_POST_VARS['message']);
 	if( !empty($post_message) )
 	{
 		if( !$error )
@@ -1323,7 +1323,7 @@ if( ( $submit || $confirm || $mode == "delete"  ) && !$error )
 
 									$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
 
-									$path = (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+									$path = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? ( dirname($HTTP_SERVER_VARS['PATH_INFO']) == "/") ? "" : dirname($HTTP_SERVER_VARS['PATH_INFO']) ) : ( (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) );
 									$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
 									$protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ?  ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" )  : "http://";
 
diff --git a/phpBB/privmsg.php b/phpBB/privmsg.php
index fa3e55fde7..6411ffed68 100644
--- a/phpBB/privmsg.php
+++ b/phpBB/privmsg.php
@@ -1050,7 +1050,7 @@ else if( $submit || $refresh || $mode != "" )
 
 				if( $to_userdata['user_notify_pm'] && !empty($to_userdata['user_email']) )
 				{
-					$path = (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+					$path = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? ( dirname($HTTP_SERVER_VARS['PATH_INFO']) == "/") ? "" : dirname($HTTP_SERVER_VARS['PATH_INFO']) ) : ( (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) );
 					$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
 					$protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ?  ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" )  : "http://";
 
diff --git a/phpBB/profile.php b/phpBB/profile.php
index ae481a9e41..4c48610deb 100644
--- a/phpBB/profile.php
+++ b/phpBB/profile.php
@@ -1002,7 +1002,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
 
 							$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
 
-							$path = (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+							$path = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? ( dirname($HTTP_SERVER_VARS['PATH_INFO']) == "/") ? "" : dirname($HTTP_SERVER_VARS['PATH_INFO']) ) : ( (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) );
 							$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
 							$protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ?  ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" )  : "http://";
 
@@ -1109,7 +1109,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
 
 								$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
 
-								$path = (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+								$path = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? ( dirname($HTTP_SERVER_VARS['PATH_INFO']) == "/") ? "" : dirname($HTTP_SERVER_VARS['PATH_INFO']) ) : ( (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) );
 								$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
 								$protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ?  ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" )  : "http://";
 
@@ -1678,7 +1678,7 @@ if( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
 
 				$email_headers = "From: " . $board_config['board_email'] . "\nReturn-Path: " . $board_config['board_email'] . "\r\n";
 
-				$path = (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']);
+				$path = ( isset($HTTP_SERVER_VARS['PATH_INFO']) ) ? ( dirname($HTTP_SERVER_VARS['PATH_INFO']) == "/") ? "" : dirname($HTTP_SERVER_VARS['PATH_INFO']) ) : ( (dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) == "/") ? "" : dirname($HTTP_SERVER_VARS['SCRIPT_NAME']) );
 				$server_name = ( isset($HTTP_SERVER_VARS['HTTP_HOST']) ) ? $HTTP_SERVER_VARS['HTTP_HOST'] : $HTTP_SERVER_VARS['SERVER_NAME'];
 				$protocol = ( !empty($HTTP_SERVER_VARS['HTTPS']) ) ?  ( ( $HTTP_SERVER_VARS['HTTPS'] == "on" ) ? "https://" : "http://" )  : "http://";