diff --git a/gen_config.py b/gen_config.py
index b94d19656bae62f2da0e2e70e1d994d71c379fe7..210c3429313cfed6b34d66fe4252e77811f455ec 100755
--- a/gen_config.py
+++ b/gen_config.py
@@ -60,6 +60,23 @@ old_vars = {}
 with open(args.input) as fd:
     exec(fd.read(), old_vars)
 
+defaults = {
+    'msg_footer': """_______________________________________________
+%(real_name)s mailing list
+%(real_name)s@%(host_name)s
+%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s""",
+}
+# sign_policy & encrypt_policy are from https://people.mpi-klsb.mpg.de/~pcernko/mailman-pgpsmime.shtml
+for k in 'umbrella_list topics emergency personalize member_moderation_action welcome_msg msg_header msg_footer sign_policy encrypt_policy'.split():
+    if not old_vars.get(k):
+        continue
+    value = old_vars[k]
+    if defaults.get(k) == value:
+        continue
+    if isinstance(value, str):
+        value = value.replace('\n', '\\n')
+    warn(f'WARNING: "{k}" is set (or non-default), automatic migration not support, please fix manually: "{value}"')
+
 
 xml = ET.Element("list")