diff --git a/pym/portage/dispatch_conf.py b/pym/portage/dispatch_conf.py
index e51e5cd..5724d91 100644
--- a/pym/portage/dispatch_conf.py
+++ b/pym/portage/dispatch_conf.py
@@ -83,11 +83,13 @@
     except OSError:
         pass
 
-    try:
-        shutil.copy2(curconf, archive)
-    except(IOError, os.error) as why:
-        print(_('dispatch-conf: Error copying %(curconf)s to %(archive)s: %(reason)s; fatal') % \
-              {"curconf": curconf, "archive": archive, "reason": str(why)}, file=sys.stderr)
+    if os.path.isfile(curconf):
+        try:
+            shutil.copy2(curconf, archive)
+        except(IOError, os.error) as why:
+            print(_('dispatch-conf: Error copying %(curconf)s to %(archive)s: %(reason)s; fatal') % \
+                {"curconf": curconf, "archive": archive, "reason": str(why)}, file=sys.stderr)
+
     if os.path.exists(archive + ',v'):
         os.system(RCS_LOCK + ' ' + archive)
     os.system(RCS_PUT + ' ' + archive)
@@ -142,11 +144,12 @@
 
         os.rename(archive, archive + '.1')
 
-    try:
-        shutil.copy2(curconf, archive)
-    except(IOError, os.error) as why:
-        print(_('dispatch-conf: Error copying %(curconf)s to %(archive)s: %(reason)s; fatal') % \
-              {"curconf": curconf, "archive": archive, "reason": str(why)}, file=sys.stderr)
+    if os.path.isfile(curconf):
+        try:
+            shutil.copy2(curconf, archive)
+        except(IOError, os.error) as why:
+            print(_('dispatch-conf: Error copying %(curconf)s to %(archive)s: %(reason)s; fatal') % \
+                {"curconf": curconf, "archive": archive, "reason": str(why)}, file=sys.stderr)
 
     if newconf != '':
         # Save off new config file in the archive dir with .dist.new suffix
