diff --git a/modules/Bio/EnsEMBL/Utils/ConversionSupport.pm b/modules/Bio/EnsEMBL/Utils/ConversionSupport.pm
index a53cc423c8bdb14421da43ac35b89bdb3666e0a6..c88193c1e71a8e34a6fb5e21450f883b8038626d 100644
--- a/modules/Bio/EnsEMBL/Utils/ConversionSupport.pm
+++ b/modules/Bio/EnsEMBL/Utils/ConversionSupport.pm
@@ -1198,6 +1198,10 @@ sub log_filehandle {
     my $fh = \*STDERR;
     if (my $logfile = $self->param('logfile')) {
         if (my $logpath = $self->param('logpath')) {
+            unless (-e $logpath) {
+                system("mkdir $logpath") == 0 or
+                    $self->log_error("Can't create log dir $logpath: $!\n");
+            }
             $logfile = "$logpath/$logfile";
         }
         open($fh, "$mode", $logfile) or throw(