diff --git a/i18n_string/i18n_string.module b/i18n_string/i18n_string.module
index c1a9e6f..15ff41f 100644
--- a/i18n_string/i18n_string.module
+++ b/i18n_string/i18n_string.module
@@ -503,7 +503,17 @@ function i18n_string_format($string, $options = array()) {
   $options += array('langcode' => i18n_langcode(), 'format' => FALSE, 'sanitize' => TRUE, 'cache' => FALSE);
   // Apply format and callback 
   if ($string) {
-    if ($options['format'] && $options['sanitize']) {
+    if ($options['format'] == 'filter_xss_admin' && $options['sanitize']) {
+      $string = filter_xss_admin($string);
+    }
+    else if ($options['format'] == 'filter_xss' && $options['sanitize']) {
+      if (!empty($options['allowed_tags'])) {
+        $string = filter_xss($string, $options['allowed_tags']);
+      }
+      else {
+        $string = filter_xss($string);
+      }
+    else if ($options['format'] && $options['sanitize']) {
       $string = check_markup($string, $options['format'], $options['langcode'], $options['cache']);
     }
     if (isset($options['callback'])) {
