diff --git a/oshmem/mca/spml/base/spml_base_select.c b/oshmem/mca/spml/base/spml_base_select.c
index 270c6e5d5a..c3be1a2df4 100644
--- a/oshmem/mca/spml/base/spml_base_select.c
+++ b/oshmem/mca/spml/base/spml_base_select.c
@@ -27,6 +27,8 @@
 #include "oshmem/mca/spml/spml.h"
 #include "oshmem/mca/spml/base/base.h"
 
+#include "ompi/mca/bml/base/base.h"
+
 
 typedef struct opened_component_t {
     opal_list_item_t super;
@@ -147,7 +149,12 @@ int mca_spml_base_select(bool enable_progress_threads, bool enable_mpi_threads)
             if (NULL == tmp_val) {
                 continue;
             }
-            orte_errmgr.abort(1, "SPML %s cannot be selected", tmp_val);
+            if (0 == strncmp(tmp_val, "yoda", 4) && !mca_bml_base_inited()) {
+                orte_errmgr.abort(1, "SPML %s cannot be selected becasue no btls are available. Please make sure that ob1 pml is selected by ompi (-mca pml ob1)", tmp_val);
+            }
+            else {
+                orte_errmgr.abort(1, "SPML %s cannot be selected", tmp_val);
+            }
         }
         if (0 == i) {
             orte_errmgr.abort(2,
diff --git a/oshmem/mca/spml/yoda/spml_yoda.h b/oshmem/mca/spml/yoda/spml_yoda.h
index a15469aa11..13ed7d62d8 100644
--- a/oshmem/mca/spml/yoda/spml_yoda.h
+++ b/oshmem/mca/spml/yoda/spml_yoda.h
@@ -74,7 +74,6 @@ struct mca_spml_yoda_t {
     /* number of outstanding put requests */
     int32_t n_active_puts;
     bool enabled;
-    bool force_bml;
     struct yoda_btl *btl_type_map;
     int n_btls;
 };
diff --git a/oshmem/mca/spml/yoda/spml_yoda_component.c b/oshmem/mca/spml/yoda/spml_yoda_component.c
index b3080ce1dd..e95027b176 100644
--- a/oshmem/mca/spml/yoda/spml_yoda_component.c
+++ b/oshmem/mca/spml/yoda/spml_yoda_component.c
@@ -112,15 +112,9 @@ mca_spml_yoda_component_init(int* priority,
     }
 
     /* We use BML/BTL and need to start it */
-    mca_spml_yoda.force_bml = false;
     if (!mca_bml_base_inited()) {
-        SPML_VERBOSE(10, "starting bml\n");
-        if (OMPI_SUCCESS
-                != mca_bml_base_init(enable_progress_threads,
-                                     enable_mpi_threads)) {
-            return NULL ;
-        }
-        mca_spml_yoda.force_bml = true;
+        SPML_VERBOSE(10, "can not select yoda because ompi has no bml component");
+        return NULL;
     }
 
     mca_spml_yoda.n_active_puts = 0;
@@ -132,11 +126,6 @@ int mca_spml_yoda_component_fini(void)
 {
     int rc;
 
-    /* Shutdown BML */
-    if ((mca_spml_yoda.force_bml == true) &&
-            (OMPI_SUCCESS != (rc = mca_bml.bml_finalize())))
-        return rc;
-
     if(!mca_spml_yoda.enabled)
         return OSHMEM_SUCCESS; /* never selected.. return success.. */
     mca_spml_yoda.enabled = false;  /* not anymore */