diff --git a/babel-setup.sql b/babel-setup.sql
index 08fdf35..379835c 100644
--- a/babel-setup.sql
+++ b/babel-setup.sql
@@ -228,6 +228,7 @@
   CONSTRAINT `strings_ibfk_2` FOREIGN KEY (`userid`) REFERENCES `users` (`userid`) ON UPDATE CASCADE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
 
+CREATE INDEX idx_value ON strings(value(40));
 
 DELIMITER ;;
 CREATE TRIGGER `upd_string` AFTER UPDATE ON `strings` FOR EACH ROW 
diff --git a/classes/export/generate1.php b/classes/export/generate1.php
index b42a8f4..c021813 100755
--- a/classes/export/generate1.php
+++ b/classes/export/generate1.php
@@ -110,12 +110,14 @@
 	exec("mkdir ${output_dir_for_train}plugins/");
 
 	fwrite($language_pack_links_file, "\n\t<h3>Release Train: $train_id</h3>\n\t<ul>");
-
-	$language_result = mysql_query("SELECT language_id, iso_code, IF(locale <> '', CONCAT(CONCAT(CONCAT(name, ' ('), locale), ')'), name) as name, is_active, IF(language_id = 1,1,0) AS sorthack FROM languages ORDER BY sorthack, name ASC");
+	
+	$sql = "SELECT language_id, iso_code, IF(locale <> '', CONCAT(CONCAT(CONCAT(name, ' ('), locale), ')'), name) as name, is_active, IF(language_id = 1,1,0) AS sorthack FROM languages ORDER BY sorthack, name ASC";
+	$language_result = mysql_query($sql);
 	if($language_result === FALSE) {
 		# we may have lost the database connection.with our shell-outs
 		# bug 271685
 		$dbh = $dbc->connect();
+		$language_result = mysql_query($sql);
 	}
 	while (($language_row = mysql_fetch_assoc($language_result)) != null) {
 		$language_name = $language_row['name'];
diff --git a/classes/export/import_from_csv.php b/classes/export/import_from_csv.php
index 80a210e..fde7ec6 100644
--- a/classes/export/import_from_csv.php
+++ b/classes/export/import_from_csv.php
@@ -69,7 +69,7 @@
 $handle = fopen($csv_file, "r");
 while (($data = fgetcsv($handle)) !== FALSE) {
 	$sql = <<<SQL
-SELECT s.string_id FROM files AS f INNER JOIN strings AS s ON f.file_id = s.file_id INNER JOIN release_train_projects as v ON (f.project_id = v.project_id AND f.version = v.version) WHERE f.is_active AND s.non_translatable <> 1 AND s.name = '$data[0]' AND BINARY s.value = '$data[1]' AND v.train_id = '$release_train_id'
+SELECT s.string_id FROM files AS f INNER JOIN strings AS s ON f.file_id = s.file_id INNER JOIN release_train_projects as v ON (f.project_id = v.project_id AND f.version = v.version) WHERE f.is_active AND s.non_translatable <> 1 AND s.name = '$data[0]' AND s.value = BINARY '$data[1]' AND v.train_id = '$release_train_id'
 
 SQL;
     $values = mysql_query($sql);
diff --git a/classes/export/syncup.php b/classes/export/syncup.php
index 44aa55d..4823559 100644
--- a/classes/export/syncup.php
+++ b/classes/export/syncup.php
@@ -47,7 +47,7 @@
     	$count++;
     	
     	if($count % 100 == 0) {
-    		echo "Processed " . $count . " strings...\n";
+    		echo "Processed " . $count . " strings (language_id=$language_id)... \n";
     	}
     	
 		$untranslated_value = $string_row['value'];
@@ -56,7 +56,8 @@
 		# This query split in two for added performance.
 		# See bug 270485
 		$string_ids = "";
-		$rs = mysql_query( "SELECT s.string_id FROM strings AS s WHERE BINARY s.value = '" . addslashes($untranslated_value) . "'");
+		# BINARY the lookup value instead of the field to support an index
+		$rs = mysql_query( "SELECT s.string_id FROM strings AS s WHERE s.value = BINARY '" . addslashes($untranslated_value) . "'");
 		while ( ($row = mysql_fetch_assoc($rs)) != null) {
 			if(strlen($string_ids) > 0) {
 				$string_ids .= ",";
diff --git a/classes/string/string.class.php b/classes/string/string.class.php
index 6ba826b..d4ae683 100755
--- a/classes/string/string.class.php
+++ b/classes/string/string.class.php
@@ -84,7 +84,7 @@
 				FROM 
 					strings
 				WHERE file_id = " . sqlSanitize($_file_id, $dbh) . "
-					AND BINARY(name) = " . returnQuotedString(sqlSanitize($_name, $dbh));	
+					AND name = BINARY " . returnQuotedString(sqlSanitize($_name, $dbh));	
 
 			$result = mysql_query($sql, $dbh);
 			if($result && mysql_num_rows($result) > 0) {
diff --git a/html/query.php b/html/query.php
index 7698839..39c53da 100644
--- a/html/query.php
+++ b/html/query.php
@@ -35,7 +35,7 @@
 	"SELECT t.value 
 		from strings As s inner join translations AS t on s.string_id = t.string_id
 					inner join languages As l on l.language_id = t.language_id
-					where BINARY s.value = '" . addslashes($value) . "' 
+					where s.value = BINARY '" . addslashes($value) . "' 
 					and l.iso_code = '" . addslashes($nl) . "' ");
 		
 if ($possible_translations and (($translation_row = mysql_fetch_assoc($possible_translations)) != null)) {
