diff --git a/Makefile b/Makefile
index 0fdfb117..491b4229 100644
--- a/Makefile
+++ b/Makefile
@@ -75,3 +75,9 @@ ${DOCDIR}/avrprog.pdf : avrprog.pdf
 ${CONFIGDIR}/avrprog.conf.sample : avrprog.conf.sample
 	${INSTALL_DATA} avrprog.conf.sample $@
 
+${CONFIGDIR}/avrprog.conf : avrprog.conf.sample
+	@if [ -f ${CONFIGDIR}/avrprog.conf ]; then                       \
+	  cp -p ${CONFIGDIR}/avrprog.conf ${CONFIGDIR}/avrprog.conf.old; \
+	fi
+	${INSTALL_DATA} avrprog.conf.sample $@
+
diff --git a/lexer.l b/lexer.l
index 60e75a20..a9c8b0eb 100644
--- a/lexer.l
+++ b/lexer.l
@@ -130,6 +130,12 @@ yes              { yylval=new_token(K_YES); return K_YES; }
 "\n"      { lineno++; }
 [ \t]+  /* ignore whitespace */
 
+c: { fprintf(stderr, "error at %s:%d: possible old-style config file entry\n",
+             infile, lineno);
+     fprintf(stderr, "  Update your config file (see %s%s for a sample)\n",
+             CONFIG_DIR, "/avrprog.conf.sample");
+     exit(1); }
+
 . { fprintf(stderr, "error at %s:%d unrecognized character: \"%s\"\n", 
             infile, lineno, yytext); exit(1); }