diff --git a/css/civicrm.css b/css/civicrm.css
index b64d79104683414fff9b91f55d0f6b573e739189..a883418e3470b22638496733241bee6b71f9958a 100644
--- a/css/civicrm.css
+++ b/css/civicrm.css
@@ -3409,7 +3409,7 @@ div.m ul#civicrm-menu,
 }
 
 /* table row highlightng */
-#crm-container table.row-highlight tr:hover {
+.crm-container table.row-highlight tr:hover {
   background-color: #FFFFCC !important;
 }
 #crm-container .civicrm-drupal-wysiwyg .collapsed {
diff --git a/js/Common.js b/js/Common.js
index 8b926423078a1201c684940e0f7d9d4945be65bf..8f5294ef60db3c13e12c62db59dc18e291cfe68b 100644
--- a/js/Common.js
+++ b/js/Common.js
@@ -46,9 +46,9 @@ function ts(text, params) {
   text = CRM.strings[text] || text;
   if (typeof(params) === 'object') {
     for (var i in params) {
-      if (typeof(params[i]) === 'string') {
+      if (typeof(params[i]) === 'string' || typeof(params[i]) === 'number') {
         // sprintf emulation: escape % characters in the replacements to avoid conflicts
-        text = text.replace(new RegExp('%' + i, 'g'), params[i].replace(/%/g, '%-crmescaped-'));
+        text = text.replace(new RegExp('%' + i, 'g'), String(params[i]).replace(/%/g, '%-crmescaped-'));
       }
     }
     return text.replace(/%-crmescaped-/g, '%');