diff --git a/modules/Bio/EnsEMBL/Hive/Extensions.pm b/modules/Bio/EnsEMBL/Hive/Extensions.pm
index a80623e1c329fb22fc0c1e2408d0e5bbf465902c..4a47d35da1b4bed934f8c05bb01689a4429e83cc 100755
--- a/modules/Bio/EnsEMBL/Hive/Extensions.pm
+++ b/modules/Bio/EnsEMBL/Hive/Extensions.pm
@@ -64,6 +64,9 @@ sub Bio::EnsEMBL::Analysis::process
   die("self must be a [Bio::EnsEMBL::Analysis] not a [$self]")
     unless($self->isa('Bio::EnsEMBL::Analysis'));
 
+  throw("analysis ". $self->logic_name . " has an undefined analysis.module")
+    unless($self->module);
+
   my $process_class;
   if($self->module =~ /::/) { $process_class = $self->module; }
   else { $process_class = "Bio::EnsEMBL::Pipeline::RunnableDB::".$self->module; }