diff --git a/plugins/FeedsProcessor.inc b/plugins/FeedsProcessor.inc
index 00dc6aa1281a9f9810b75aa6d757f7e548ee33e6..20f1250f2f68e65c0d67a75912f0b16d418d589e 100644
--- a/plugins/FeedsProcessor.inc
+++ b/plugins/FeedsProcessor.inc
@@ -1264,7 +1264,10 @@ abstract class FeedsProcessor extends FeedsPlugin {
 
     foreach ($out as $key => $value) {
       if (is_string($value)) {
-        $out[$key] = truncate_utf8(utf8_encode($value), 100, FALSE, TRUE);
+        if (function_exists('mb_check_encoding') && !mb_check_encoding($value, 'UTF-8')) {
+          $value = utf8_encode($value);
+        }
+        $out[$key] = truncate_utf8($value, 100, FALSE, TRUE);
       }
     }