diff --git a/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm b/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm
index 1c343f4ca4693692e60c661884718ed3a8d0688a..36629ef306474d600e34f5e88c28a943f42983d2 100644
--- a/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm
+++ b/modules/Bio/EnsEMBL/Hive/PipeConfig/HiveGeneric_conf.pm
@@ -469,18 +469,17 @@ sub run {
 
                 # create control rules:
             foreach my $condition_url (@$wait_for) {
-                if(my $condition_analysis = $analysis_adaptor->fetch_by_logic_name_or_url($condition_url)) {
-
-                    my $c_rule = Bio::EnsEMBL::Hive::AnalysisCtrlRule->new(
-                            -condition_analysis_url => $condition_url,
-                            -ctrled_analysis_id     => $analysis->dbID,
-                    );
-                    $ctrl_rule_adaptor->store( $c_rule, 1 );
-
-                    warn $c_rule->toString."\n";
-                } else {
-                    die "Could not fetch analysis '$condition_url' to create a control rule";
+                unless ($condition_url =~ m{^\w*://}) {
+                    my $condition_analysis = $analysis_adaptor->fetch_by_logic_name($condition_url);
+                    die "Could not fetch analysis '$condition_url' to create a control rule (in '".($analysis->logic_name)."')\n" unless defined $condition_analysis;
                 }
+                my $c_rule = Bio::EnsEMBL::Hive::AnalysisCtrlRule->new(
+                        -condition_analysis_url => $condition_url,
+                        -ctrled_analysis_id     => $analysis->dbID,
+                );
+                $ctrl_rule_adaptor->store( $c_rule, 1 );
+
+                warn $c_rule->toString."\n";
             }
 
             $flow_into ||= {};