diff --git a/sql/patch_2012-11-13.sql b/sql/patch_2012-11-13.sql
index b1afb72286bf7e896669bb9eeb55aa8ab10614fd..43d56d916b0890ee518150072511105e336eca4d 100644
--- a/sql/patch_2012-11-13.sql
+++ b/sql/patch_2012-11-13.sql
@@ -7,6 +7,6 @@ CREATE OR REPLACE VIEW msg AS
     SELECT a.analysis_id, a.logic_name, m.*
     FROM job_message m
     JOIN worker w USING (worker_id)
-    JOIN analysis_base a USING (analysis_id)
-    LEFT JOIN job j USING (job_id);
+    LEFT JOIN analysis_base a ON (a.analysis_id=w.analysis_id)
+    LEFT JOIN job j ON (j.job_id=m.job_id);
 
diff --git a/sql/procedures.mysql b/sql/procedures.mysql
index 244e3b73b2e58d824bbc6c79629dc05415cb10fb..e9ff3ef2c7ed9df9caff088a79ba6f0fe1d372b1 100644
--- a/sql/procedures.mysql
+++ b/sql/procedures.mysql
@@ -35,8 +35,8 @@ CREATE OR REPLACE VIEW msg AS
     SELECT a.analysis_id, a.logic_name, m.*
     FROM job_message m
     JOIN worker w USING (worker_id)
-    JOIN analysis_base a USING (analysis_id)
-    LEFT JOIN job j USING (job_id);
+    LEFT JOIN analysis_base a ON (a.analysis_id=w.analysis_id)
+    LEFT JOIN job j ON (j.job_id=m.job_id);
 
 
 #### time an analysis or group of analyses (given by a name pattern) ######################################
diff --git a/sql/procedures.sqlite b/sql/procedures.sqlite
index 49b79e918ff3f3daac91a8b3e0a98befb4d566df..61095d6d59595ac728e5e69226b8f39eabe479fb 100644
--- a/sql/procedures.sqlite
+++ b/sql/procedures.sqlite
@@ -35,6 +35,6 @@ CREATE VIEW IF NOT EXISTS msg AS
     SELECT a.analysis_id, a.logic_name, m.*
     FROM job_message m
     JOIN worker w USING (worker_id)
-    JOIN analysis_base a USING (analysis_id)
-    LEFT JOIN job j ON (m.job_id=j.job_id);
+    LEFT JOIN analysis_base a ON (a.analysis_id=w.analysis_id)
+    LEFT JOIN job j ON (j.job_id=m.job_id);