diff --git a/modules/Bio/EnsEMBL/Hive/Worker.pm b/modules/Bio/EnsEMBL/Hive/Worker.pm
index 8d08b94294c9f3ab328757e47631197741280405..bf1538501e55dd845c2f5db7ee30d09d135b8698 100755
--- a/modules/Bio/EnsEMBL/Hive/Worker.pm
+++ b/modules/Bio/EnsEMBL/Hive/Worker.pm
@@ -251,9 +251,8 @@ sub last_check_in {
 sub output_dir {
   my( $self, $outdir ) = @_;
   if($outdir and (-d $outdir)) {
-    my $str = join("/", split(//, $self->hive_id));
-    $outdir .= "/$str/hive_id_" . $self->hive_id ."/";
-    system("mkdir -p $outdir");
+    $outdir .= "/worker_" . $self->hive_id ."/";
+    mkdir($outdir);
     $self->{'_output_dir'} = $outdir 
   }
   return $self->{'_output_dir'};