diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l
index 7b2bfdccc9030ae507c9dd63c56209067514355b..3598a200d0db431541ad1fb90c1950ebfc77f4ed 100644
--- a/src/interfaces/ecpg/preproc/pgc.l
+++ b/src/interfaces/ecpg/preproc/pgc.l
@@ -357,7 +357,7 @@ cppinclude_next		{space}*#{include_next}{space}*
 /* first a general line for all commands not starting with "i" */
 /* and then the other commands starting with "i", we have to add these
  * separately because the cppline production would match on "include" too */
-cppline			{space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+\/)|.)*{newline}
+cppline			{space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+\/)|.|\\{space}*{newline})*{newline}
 
 /*
  * Dollar quoted strings are totally opaque, and no escaping is done on them.