diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index af05713..92dc292 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -585,11 +585,13 @@
     def _map_log(self, ci, url, path=None):
         revno = ci.revision.number
         rev = pysvn.Revision(pysvn.opt_revision_kind.number, revno)
-        try:
-            size = int(
-                self._svn.list(url, revision=rev, peg_revision=rev)[0][0].size)
-        except pysvn.ClientError:
-            size = None
+        size = None
+        if path:
+            try:
+                size = int(
+                    self._svn.list(url, revision=rev, peg_revision=rev)[0][0].size)
+            except pysvn.ClientError:
+                pass
         rename_details = {}
         changed_paths = ci.get('changed_paths', [])
         for changed_path in changed_paths:
diff --git a/ForgeSVN/forgesvn/tests/model/test_repository.py b/ForgeSVN/forgesvn/tests/model/test_repository.py
index a9d712d..70c34ac 100644
--- a/ForgeSVN/forgesvn/tests/model/test_repository.py
+++ b/ForgeSVN/forgesvn/tests/model/test_repository.py
@@ -247,7 +247,7 @@
                  'date': datetime(2013, 11, 8, 13, 38, 11, 152821),
                  'name': u'coldmind',
                  'email': ''
-             }, 'size': 0},
+             }, 'size': None},
             {'parents': [4],
              'refs': [],
              'committed': {
@@ -261,7 +261,7 @@
                  'date': datetime(2010, 11, 18, 20, 14, 21, 515743),
                  'name': u'rick446',
                  'email': ''},
-             'size': 0},
+             'size': None},
             {'parents': [3],
              'refs': [],
              'committed': {
@@ -275,7 +275,7 @@
                  'date': datetime(2010, 10, 8, 15, 32, 59, 383719),
                  'name': u'rick446',
                  'email': ''},
-             'size': 0},
+             'size': None},
             {'parents': [2],
              'refs': [],
              'committed': {
@@ -289,7 +289,7 @@
              {'date': datetime(2010, 10, 8, 15, 32, 48, 272296),
               'name': u'rick446',
               'email': ''},
-             'size': 0},
+             'size': None},
             {'parents': [1],
              'refs': [],
              'committed': {
@@ -303,7 +303,7 @@
                  'date': datetime(2010, 10, 8, 15, 32, 36, 221863),
                  'name': u'rick446',
                  'email': ''},
-             'size': 0},
+             'size': None},
             {'parents': [],
              'refs': [],
              'committed': {
@@ -317,7 +317,7 @@
                  'date': datetime(2010, 10, 8, 15, 32, 7, 238375),
                  'name': u'rick446',
                  'email': ''},
-             'size': 0}])
+             'size': None}])
 
     def test_log_file(self):
         entries = list(self.repo.log(path='/README', id_only=False))
