diff --git a/salt/output/highstate.py b/salt/output/highstate.py
index <HASH>..<HASH> 100644
--- a/salt/output/highstate.py
+++ b/salt/output/highstate.py
@@ -198,9 +198,7 @@ def _format_host(host, data):
                 state_lines.insert(
                     3, u'    {tcolor}    Name: {comps[2]}{colors[ENDC]}')
             try:
-                comment = ret['comment'].strip().replace(
-                    u'\n',
-                    u'\n' + u' ' * 14)
+                stripped_comment = ret['comment'].strip()
             except AttributeError:  # Assume comment is a list
                 try:
                     comment = ret['comment'].join(' ').replace(
@@ -212,6 +210,16 @@ def _format_host(host, data):
                     comment = comment.strip().replace(
                         u'\n',
                         u'\n' + u' ' * 14)
+            else:
+                try:
+                    comment = stripped_comment.replace(
+                        u'\n',
+                        u'\n' + u' ' * 14)
+                except UnicodeDecodeError:
+                    comment = stripped_comment.replace(
+                        '\n',
+                        '\n' + ' ' * 14)
+                    comment = comment.decode('UTF-8')
             for detail in ['start_time', 'duration']:
                 ret.setdefault(detail, u'')
             if ret['duration'] != '':
Handle unicode in highstate outputter

Refs #<I>