diff --git a/gracedb/core/models.py b/gracedb/core/models.py
index 53e4221cbd750d41fe794ca668b504804bc1e110..e9be116ab0183fc261e886b1e6b508d33023e2ca 100644
--- a/gracedb/core/models.py
+++ b/gracedb/core/models.py
@@ -213,6 +213,16 @@ class LogBase(models.Model):
         abstract = True
         ordering = ['-created', '-N']
 
+    @property
+    def full_filename(self):
+        if self.filename:
+            actual_filename = self.filename
+            if self.file_version is not None:
+                actual_filename += ",{n}".format(n=self.file_version)
+        else:
+            actual_filename = None
+        return actual_filename
+
     def fileurl(self):
         # Override this on derived classes
         return NotImplemented
diff --git a/gracedb/events/models.py b/gracedb/events/models.py
index 771750211d16d264ecc03404e5e23dbf3e43763e..60972b06ae4af3877497bc3217a7396cc0e65577 100644
--- a/gracedb/events/models.py
+++ b/gracedb/events/models.py
@@ -357,11 +357,8 @@ class EventLog(CleanSaveModel, LogBase, AutoIncrementModel):
 
     def fileurl(self):
         if self.filename:
-            actual_filename = self.filename
-            if self.file_version >= 0:
-                actual_filename += ',%d' % self.file_version
             return reverse('file-download', args=[self.event.graceid(),
-                actual_filename])
+                self.full_filename])
         else:
             return None
 
diff --git a/gracedb/superevents/models.py b/gracedb/superevents/models.py
index 06118e239b9290b286d871dc13a7df2da97ccd5d..ac3146e10f7877fdb152ad157ae7828659e51f4e 100644
--- a/gracedb/superevents/models.py
+++ b/gracedb/superevents/models.py
@@ -346,12 +346,11 @@ class Log(CleanSaveModel, LogBase, AutoIncrementModel):
         unique_together = (('superevent', 'N'),)
 
     def get_full_file_path(self):
-        # TODO: add file_version?
-        return os.path.join(self.superevent.datadir, self.filename)
+        return os.path.join(self.superevent.datadir, self.full_filename)
 
     def fileurl(self):
-        # TODO: implement this
-        super(Log, self).fileurl()
+        return reverse("superevents:file-download", args=
+            [self.superevent.superevent_id, self.full_filename])
 
 
 class Labelling(m2mThroughBase):