diff -ur Text-MultiMarkdown-1.000033/lib/Text/MultiMarkdown.pm Text-MultiMarkdown-1.000033-fixed/lib/Text/MultiMarkdown.pm
--- Text-MultiMarkdown-1.000033/lib/Text/MultiMarkdown.pm	2010-03-21 02:09:32.000000000 +0300
+++ Text-MultiMarkdown-1.000033-fixed/lib/Text/MultiMarkdown.pm	2010-08-04 14:12:14.000000000 +0400
@@ -371,8 +371,17 @@
 sub _GenerateHeader {
     my ($self, $level, $id) = @_;
 
-    my $label = $self->{heading_ids} ? $self->_Header2Label($id) : '';
-    my $header = $self->_RunSpanGamut($id);
+    my $label = '';
+    my $header = '';
+
+    if ($self->{heading_ids}) {
+        $id =~ /^(.+?)(?:\s*\[([^\[]*?)\])?$/;
+        $label = (defined $2) ?
+            $self->_Header2Label($2) : $self->_Header2Label($1);
+            $header = $self->_RunSpanGamut($1);
+    } else {
+        $header = $self->_RunSpanGamut($id);
+    }
 
     if ($label ne '') {
         $self->{_crossrefs}{$label} = "#$label";
