diff --git a/client/djrandom_client/upload.py b/client/djrandom_client/upload.py
index 19ab8c3cb0f4f94e61de77e6c5050e26fd0b8ea9..edcf2b977105ae8966b38624b718513a931e5d15 100644
--- a/client/djrandom_client/upload.py
+++ b/client/djrandom_client/upload.py
@@ -65,6 +65,7 @@ class Uploader(object):
 
     def upload(self, path):
         sha1 = utils.sha1_of_file(path)
+        log.info('new file: %s (%s)' % (path, sha1))
         result = self._get('/check/' + sha1)
         if result:
             log.info('%s already on server (%s)' % (path, sha1))
@@ -83,7 +84,6 @@ class Uploader(object):
                 break
             if self.db.has(path):
                 continue
-            log.info('new file: %s' % path)
             stats.data.set('uploading', path)
             try:
                 self.upload(path)
diff --git a/client/djrandom_client/utils.py b/client/djrandom_client/utils.py
index 3b350e3823236c9e142d3bfd31bbef8228dce7c8..2fe28fca3eea1c1253dc0782404cb968994042ca 100644
--- a/client/djrandom_client/utils.py
+++ b/client/djrandom_client/utils.py
@@ -14,7 +14,7 @@ def generate_path(base_dir, sha1):
 
 
 def sha1_of_file(path):
-    with open(path, 'r') as fd:
+    with open(path, 'rb') as fd:
         sha = hashlib.sha1()
         while True:
             chunk = fd.read(4096)