--- Form.pm.orig	2009-10-26 08:37:11.000000000 -0500
+++ Form.pm	2009-10-26 09:08:44.000000000 -0500
@@ -70,9 +70,11 @@ sub new {
         $_ = $ARGV[0];
     }
 
-    my $self = {};
-    %$self = split /[&=]/;
-    for ( keys %$self ) { $self->{$_} = unescape( "", $self->{$_} ) }
+    my $self = {}, $orig = {};
+    %$orig = split /[&=]/;
+    for ( keys %$orig ) { 
+        $self->{unescape( "", $_) } = unescape( "", $orig->{$_} );
+    }
 
     if ( substr( $self->{action}, 0, 1 ) !~ /( |\.)/ ) {
         $self->{action} = lc $self->{action};
