my $response = $mediawiki->{ua}->get($download_url);
        if ($response->code == HTTP_CODE_OK) {
-               return $response->decoded_content;
+               # It is tempting to return
+               # $response->decoded_content({charset => "none"}), but
+               # when doing so, utf8::downgrade($content) fails with
+               # "Wide character in subroutine entry".
+               $response->decode();
+               return $response->content();
        } else {
                print {*STDERR} "Error downloading mediafile from :\n";
                print {*STDERR} "URL: ${download_url}\n";
        # Store "notANameSpace" as special value for inexisting namespaces
        my $store_id = ($id || 'notANameSpace');
 
-       # Store explicitely requested namespaces on disk
+       # Store explicitly requested namespaces on disk
        if (!exists $cached_mw_namespace_id{$name}) {
                run_git(qq(config --add remote.${remotename}.namespaceCache "${name}:${store_id}"));
                $cached_mw_namespace_id{$name} = 1;