diff --git a/hp-labrea/labrea-idea.py b/hp-labrea/labrea-idea.py
index 2e030f97a2c5b31dabf1c1359920653ee69630eb..dd0b0c0a634eef7da3edf4d2a00f830d500682c1 100755
--- a/hp-labrea/labrea-idea.py
+++ b/hp-labrea/labrea-idea.py
@@ -8,6 +8,7 @@ import time
 import optparse
 import signal
 import uuid
+import codecs
 import json
 import socket
 import resource
@@ -210,7 +211,7 @@ class FileWatcher(object):
 
     def open(self):
         try:
-            self.f = open(self.filename, "r")
+            self.f = codecs.open(self.filename, "r", encoding="ISO-8859-1")
             st = os.fstat(self.f.fileno())
             self.inode, self.size = st.st_ino, st.st_size
         except IOError:
@@ -662,7 +663,7 @@ def main():
         if opts.oneshot:
             signal.signal(signal.SIGINT, terminate_me)
             signal.signal(signal.SIGTERM, terminate_me)
-            files = [open(arg) for arg in args]
+            files = [codecs.open(arg, "r", encoding="ISO-8859-1") for arg in args]
         else:
             daemonize(
                 pidfile=opts.pid,