diff --git a/sql/sql_show.cc b/sql/sql_show.cc
index d6ceca5f23cc355c411307f539b347d9a758be17..268292022e4f24a0d85041c60da3f23aa4862329 100644
--- a/sql/sql_show.cc
+++ b/sql/sql_show.cc
@@ -1890,7 +1890,7 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables,
       case SHOW_SLAVE_RUNNING:
       {
 	pthread_mutex_lock(&LOCK_active_mi);
-	end= strmov(buff, (active_mi->slave_running &&
+	end= strmov(buff, (active_mi && active_mi->slave_running &&
 			   active_mi->rli.slave_running) ? "ON" : "OFF");
 	pthread_mutex_unlock(&LOCK_active_mi);
 	break;
@@ -1902,9 +1902,12 @@ int mysqld_show(THD *thd, const char *wild, show_var_st *variables,
           SLAVE STATUS, and have the sum over all lines here.
         */
 	pthread_mutex_lock(&LOCK_active_mi);
-        pthread_mutex_lock(&active_mi->rli.data_lock);
-	end= int10_to_str(active_mi->rli.retried_trans, buff, 10);
-        pthread_mutex_unlock(&active_mi->rli.data_lock);
+        if (active_mi)
+        {
+          pthread_mutex_lock(&active_mi->rli.data_lock);
+          end= int10_to_str(active_mi->rli.retried_trans, buff, 10);
+          pthread_mutex_unlock(&active_mi->rli.data_lock);
+        }
 	pthread_mutex_unlock(&LOCK_active_mi);
 	break;
       }