*** empty log message ***
diff --git a/communication.c b/communication.c
index 184a4c1..887ee08 100644
--- a/communication.c
+++ b/communication.c
@@ -656,9 +656,11 @@
 	struct ebt_u_entry **u_e;
 
 	strcpy(repl.name, u_repl->name);
-	if (u_repl->filename != NULL)
+	if (u_repl->filename != NULL) {
 		retrieve_from_file(u_repl->filename, &repl, u_repl->command);
-	else if (retrieve_from_kernel(&repl, u_repl->command) == -1)
+		// -L with a wrong table name should be dealt with silently
+		strcpy(u_repl->name, repl.name);
+	} else if (retrieve_from_kernel(&repl, u_repl->command) == -1)
 		return -1;
 
 	// translate the struct ebt_replace to a struct ebt_u_replace