diff --git a/src/pl/plpgsql/src/pl_gram.y b/src/pl/plpgsql/src/pl_gram.y
index 7f52849..c43d572 100644
--- a/src/pl/plpgsql/src/pl_gram.y
+++ b/src/pl/plpgsql/src/pl_gram.y
@@ -2853,6 +2853,7 @@ make_execsql_stmt(int firsttoken, int location)
 	int					prev_tok;
 	bool				have_into = false;
 	bool				have_strict = false;
+	bool                have_attributes = false;
 	int					into_start_loc = -1;
 	int					into_end_loc = -1;
 
@@ -2907,6 +2908,8 @@ make_execsql_stmt(int firsttoken, int location)
 				continue;		/* INSERT INTO is not an INTO-target */
 			if (firsttoken == K_IMPORT)
 				continue;		/* IMPORT ... INTO is not an INTO-target */
+			if (!have_attributes)
+				yyerror("Empty list for INTO-target");
 			if (have_into)
 				yyerror("INTO specified more than once");
 			have_into = true;
@@ -2915,6 +2918,8 @@ make_execsql_stmt(int firsttoken, int location)
 			read_into_target(&rec, &row, &have_strict);
 			plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_EXPR;
 		}
+		else
+			have_attributes = true;
 	}
 
 	plpgsql_IdentifierLookup = save_IdentifierLookup;
