diff --git a/podfox/__init__.py b/podfox/__init__.py
index 1cdb1fe..bcb3768 100755
--- a/podfox/__init__.py
+++ b/podfox/__init__.py
@@ -194,35 +194,54 @@ def rename_episode(folder, published, title, url):
         date_format = CONFIGURATION['date_format']
     else:
         date_format = "%Y-%m-%d"
-    published_date = strftime(date_format, gmtime(published))
-    safe_title = escape_string(title)
-    extenstion = get_extenstion(url)
-    filename = published_date + " - " + safe_title + extenstion
 
-    if not episode_exists(folder, filename):
+    # Use published date and escaped title as filename
+    safe_title = escape_string(title) + get_extenstion(url)
+
+    if date_format:
+        published_date = strftime(date_format, gmtime(published))
+    else:
+        published_date = None
+
+    filename = construct_filename(safe_title, published_date)
+
+    if not file_exists(folder, filename):
         return filename
 
     # If filename exists change title to original filename
     original_title = get_original_filename(url)
-    filename = published_date + " - " + original_title
 
-    if not episode_exists(folder, filename):
+    filname = construct_filename(original_title, published_date)
+
+    if not file_exists(folder, filename):
         return filename
     
-    # If filename exists change date to current and title to episode title
-    current_date = strftime("%Y-%m-%d", gmtime())
-    filename = current_date + " - " + safe_title + extenstion
+    # If filename exists change date to current and title to escaped title
+    if date_format:
+        current_date = strftime(date_format, gmtime())
+    else:
+        current_date = None
+    
+    filname = construct_filename(safe_title, current_date)
 
-    if not episode_exists(folder, filename):
+    if not file_exists(folder, filename):
         return filename
 
     # If filename exists change date to current and title to original filename
-    filename = current_date + " - " + original_title
+    filname = construct_filename(original_title, current_date)
 
-    if not episode_exists(folder, filename):
+    if not file_exists(folder, filename):
         return filename
 
-    return add_epoch(original_title)
+    # If filename exists change date to current epoch and original filename
+    return construct_filename(original_title, gmtime())
+
+
+def construct_filename(title, date=None):
+    if date is None:
+        return title
+    
+    return date + " - " + title
 
 
 def escape_string(title):
@@ -242,11 +261,7 @@ def get_original_filename(url):
     return re.match(pattern, url)
 
 
-def add_epoch(filename):
-    return gmtime() + " - " + filename
-
-
-def episode_exists(shortname, filename):
+def file_exists(shortname, filename):
     base = CONFIGURATION['podcast-directory']
     if os.path.exists(os.path.join(base, shortname, filename)):
         return True
@@ -257,10 +272,10 @@ def episode_exists(shortname, filename):
 def generic_episode_name(folder, url):
     name = get_original_title(url)
 
-    if not episode_exists(folder, name)
+    if not file_exists(folder, name)
         return name
     
-    return add_epoch(name)
+    return construct_filename(name, gmtime())
 
 
 def download_multiple(feed, maxnum):