diff --git a/src/data.rs b/src/data.rs
index 44ce5c0977bc75dbe94862515871a4d1f613eabb..d498ee10892b26e25b838b2c43bdb38d0ce2e8ce 100644
--- a/src/data.rs
+++ b/src/data.rs
@@ -238,14 +238,15 @@ fn load_layout_data_with_fallback(
     
     // Build the path to the right keyboard layout subdirectory
     let mut path = env::var_os("SQUEEKBOARD_KEYBOARDSDIR")
-        .map(PathBuf::from)
+    //    .map(PathBuf::from)
         .or_else(|| xdg::data_path("squeekboard/keyboards"));
     
     match variant {
-        ::data::ContentPurpose::Terminal => path.push("/terminal"), // terminal specific layouts
+        ::data::ContentPurpose::Terminal => path.push_str("/terminal"), // terminal specific layouts
     }
     
-    for (kind, source) in list_layout_sources(name, kind, path) {
+    let full_path=PathBuf::from(path);
+    for (kind, source) in list_layout_sources(name, kind, full_path) {
         let layout = load_layout_data(source.clone());
         match layout {
             Err(e) => match (e, source) {