diff --git a/www/p5-HTML-Parser/Makefile b/www/p5-HTML-Parser/Makefile
index 0635b6383675..b217c9ad9db5 100644
--- a/www/p5-HTML-Parser/Makefile
+++ b/www/p5-HTML-Parser/Makefile
@@ -7,7 +7,7 @@
PORTNAME= HTML-Parser
PORTVERSION= 3.49
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= www perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= HTML
diff --git a/www/p5-HTML-Parser/files/patch-hparser.c b/www/p5-HTML-Parser/files/patch-hparser.c
new file mode 100644
index 000000000000..bb46bc567acb
--- /dev/null
+++ b/www/p5-HTML-Parser/files/patch-hparser.c
@@ -0,0 +1,24 @@
+--- hparser.c.orig Fri Feb 10 09:28:37 2006
++++ hparser.c Fri Feb 10 09:28:57 2006
+@@ -135,16 +135,16 @@ report_event(PSTATE* p_state,
+ #define CHR_DIST(a,b) ((a) - (b))
+ #endif
+
++ /* capture offsets */
++ STRLEN offset = p_state->offset;
++ STRLEN line = p_state->line;
++ STRLEN column = p_state->column;
++
+ /* some events might still fire after a handler has signaled eof
+ * so suppress them here.
+ */
+ if (p_state->eof)
+ return;
+-
+- /* capture offsets */
+- STRLEN offset = p_state->offset;
+- STRLEN line = p_state->line;
+- STRLEN column = p_state->column;
+
+ #if 0
+ { /* used for debugging at some point */