diff --git a/diff.pages.inc b/diff.pages.inc
index 1cd1441..242c0ca 100644
--- a/diff.pages.inc
+++ b/diff.pages.inc
@@ -471,7 +471,8 @@ function diff_process_state_lines(&$diff, $key) {
   foreach ($diff['#states'] as $state => $data) {
     if (isset($data['#old'])) {
       if (is_string($data['#old'])) {
-        $diff['#states'][$state]['#old'] = explode("\n", $data['#old']);
+        $string = rtrim($data['#old'], "\n");
+        $diff['#states'][$state]['#old'] = explode("\n", $string);
       }
       $diff['#states'][$state]['#count_old'] = count($diff['#states'][$state]['#old']);
     }
@@ -480,7 +481,8 @@ function diff_process_state_lines(&$diff, $key) {
     }
     if (isset($data['#new'])) {
       if (is_string($data['#new'])) {
-        $diff['#states'][$state]['#new'] = explode("\n", $data['#new']);
+        $string = rtrim($data['#new'], "\n");
+        $diff['#states'][$state]['#new'] = explode("\n", $string);
       }
       $diff['#states'][$state]['#count_new'] = count($diff['#states'][$state]['#new']);
     }
