diff --git a/src/document/html/parser.h b/src/document/html/parser.h
index 5a13a318b..44d255f92 100644
--- a/src/document/html/parser.h
+++ b/src/document/html/parser.h
@@ -147,11 +147,10 @@ init_html_parser(struct uri *uri, struct document_options *options,
void (*line_break)(struct html_context *),
void *(*special)(struct html_context *, enum html_special_type,
...));
-
void done_html_parser(struct html_context *html_context);
-struct html_element *init_html_parser_state(struct html_context *html_context, enum html_element_mortality_type type, int align, int margin, int width);
-void done_html_parser_state(struct html_context *html_context,
- struct html_element *element);
+
+void *init_html_parser_state(struct html_context *html_context, enum html_element_mortality_type type, int align, int margin, int width);
+void done_html_parser_state(struct html_context *html_context, void *state);
/* Interface for the table handling */
diff --git a/src/document/html/renderer.c b/src/document/html/renderer.c
index c62586f63..836b45a09 100644
--- a/src/document/html/renderer.c
+++ b/src/document/html/renderer.c
@@ -2074,7 +2074,7 @@ format_html_part(struct html_context *html_context,
int link_num)
{
struct part *part;
- struct html_element *html_state;
+ void *html_state;
struct tag *saved_last_tag_to_move = renderer_context.last_tag_to_move;
struct tag *saved_last_tag_for_newline = renderer_context.last_tag_for_newline;
int saved_empty_format = renderer_context.empty_format;