diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/PreferencesActivity.java b/mobile/src/main/java/org/openhab/habdroid/ui/PreferencesActivity.java
index f1f8e4dec3ee998546590a0d45434bdc8747eb35..72bb51e023123bea7edf9dc604e0e71f4d9a955a 100644
--- a/mobile/src/main/java/org/openhab/habdroid/ui/PreferencesActivity.java
+++ b/mobile/src/main/java/org/openhab/habdroid/ui/PreferencesActivity.java
@@ -231,6 +231,7 @@ public class PreferencesActivity extends AppCompatActivity {
             final Preference remoteConnPref = findPreference(Constants.SUBSCREEN_REMOTE_CONNECTION);
             final Preference themePref = findPreference(Constants.PREFERENCE_THEME);
             final Preference clearCachePref = findPreference(Constants.PREFERENCE_CLEAR_CACHE);
+            final Preference openLichtUrl = findPreference(Constants.PREFERENCE_OPENLICHT_URL);
             final Preference clearDefaultSitemapPref =
                     findPreference(Constants.PREFERENCE_CLEAR_DEFAULT_SITEMAP);
             final Preference ringtonePref = findPreference(Constants.PREFERENCE_TONE);
@@ -246,7 +247,14 @@ public class PreferencesActivity extends AppCompatActivity {
                 clearDefaultSitemapPref.setSummary(getString(
                         R.string.settings_current_default_sitemap, currentDefaultSitemapLabel));
             }
-
+            openLichtUrl.setOnPreferenceChangeListener((preference, newValue) -> {
+                if (!newValue.toString().isEmpty()) {
+                    preference.setSummary(newValue.toString());
+                    return true;
+                }
+                return false;
+            });
+            updateOpenLichtUrlPreference(openLichtUrl);
             updateConnectionSummary(Constants.SUBSCREEN_LOCAL_CONNECTION,
                     Constants.PREFERENCE_LOCAL_URL, Constants.PREFERENCE_LOCAL_USERNAME,
                     Constants.PREFERENCE_LOCAL_PASSWORD);
@@ -390,6 +398,15 @@ public class PreferencesActivity extends AppCompatActivity {
                     ? R.drawable.ic_smartphone_grey_24dp : R.drawable.ic_vibration_grey_24dp);
         }
 
+        private boolean updateOpenLichtUrlPreference(Preference pref) {
+            String currentUrl = getPreferenceString(Constants.PREFERENCE_OPENLICHT_URL, "");
+            if (!currentUrl.isEmpty()) {
+                pref.setSummary(currentUrl);
+                return true;
+            }
+            return false;
+        }
+
         private void updateConnectionSummary(String subscreenPrefKey, String urlPrefKey,
                 String userPrefKey, String passwordPrefKey) {
             Preference pref = findPreference(subscreenPrefKey);
diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java b/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java
index 5455e68c069be455484d8087f56074eb26dc72cc..737100d71333aa48c78bcf49b2be25c50639396d 100644
--- a/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java
+++ b/mobile/src/main/java/org/openhab/habdroid/ui/RecognitionsActivity.java
@@ -75,26 +75,32 @@ public class RecognitionsActivity extends AppCompatActivity implements WidgetAda
         progressDialog.show();
 
         //  Interface for the RetrofitInstance
-        GetDataService service = RetrofitClientInstance.getRetrofitInstance(this).create(GetDataService.class);
+        try {
+            GetDataService service = RetrofitClientInstance.getRetrofitInstance(this).create(GetDataService.class);
+            Call<List<Recognition>> call = service.getAllRecognitions();
+            call.enqueue(new Callback<List<Recognition>>() {
 
-        Call<List<Recognition>> call = service.getAllRecognitions();
-        call.enqueue(new Callback<List<Recognition>>() {
+                @Override
+                public void onResponse(Call<List<Recognition>> call, Response<List<Recognition>> response) {
 
-            @Override
-            public void onResponse(Call<List<Recognition>> call, Response<List<Recognition>> response) {
+                    progressDialog.dismiss();
+                    //generateDataList(response.body());
+                    generateCurrentActivity(response.body().get(0));
+                    generatePastActivities(response.body().subList(1, response.body().size()));
+                }
+
+                @Override
+                public void onFailure(Call<List<Recognition>> call, Throwable t) {
+                    progressDialog.dismiss();
+                    Toast.makeText(RecognitionsActivity.this, "Error loading Recognition. Please check your network connection.", Toast.LENGTH_SHORT).show();
+                }
+            });
+        } catch (IllegalArgumentException e) {
+            progressDialog.dismiss();
+            Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_LONG).show();
+        }
 
-                progressDialog.dismiss();
-                //generateDataList(response.body());
-                generateCurrentActivity(response.body().get(0));
-                generatePastActivities(response.body().subList(1, response.body().size()));
-            }
 
-            @Override
-            public void onFailure(Call<List<Recognition>> call, Throwable t) {
-                progressDialog.dismiss();
-                Toast.makeText(RecognitionsActivity.this, "Error loading Recognition. Please check your network connection.", Toast.LENGTH_SHORT).show();
-            }
-        });
 
     }
 
diff --git a/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java b/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java
index cf2704ba52188f8f97cfdb94d016153cb60b0efa..cc07a3a417474b5cb646355b341c244deb6753b6 100644
--- a/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java
+++ b/mobile/src/main/java/org/openhab/habdroid/ui/WidgetAdapter.java
@@ -1000,7 +1000,7 @@ public class WidgetAdapter extends RecyclerView.Adapter<WidgetAdapter.ViewHolder
 
     private static void showSnackbar(View v, int delay) {
         mSnackbarHandler.removeCallbacksAndMessages(null);
-        final View currentView = v.getRootView().findFocus();
+        final View currentView = v.getRootView();
         mSnackbarHandler.postDelayed(() -> {
             Snackbar snackbar = Snackbar.make(currentView, "Manuelle Änderung als neuen Standardwert setzen?", Snackbar.LENGTH_LONG);
             snackbar.setAction("Setze als\nStandard", v1 -> {
@@ -1047,7 +1047,7 @@ public class WidgetAdapter extends RecyclerView.Adapter<WidgetAdapter.ViewHolder
                 if (v.getTag() instanceof String) {
                     final String cmd = (String) v.getTag();
                     Util.sendItemCommand(mConnection.getAsyncHttpClient(), mBoundItem, cmd);
-                    WidgetAdapter.showSnackbar(v, DELAY_SNACKBAR);
+                    WidgetAdapter.showSnackbar(itemView, DELAY_SNACKBAR);
                 } else {
                     showColorPickerDialog();
                 }
diff --git a/mobile/src/main/java/org/openhab/habdroid/util/RetrofitClientInstance.java b/mobile/src/main/java/org/openhab/habdroid/util/RetrofitClientInstance.java
index 1c73dc79522aba07ade1a62f1b12405c188cb33c..75bb74c436222daf842d04c7c169c8c23f213f76 100644
--- a/mobile/src/main/java/org/openhab/habdroid/util/RetrofitClientInstance.java
+++ b/mobile/src/main/java/org/openhab/habdroid/util/RetrofitClientInstance.java
@@ -20,7 +20,7 @@ public class RetrofitClientInstance {
     public static Retrofit getRetrofitInstance(Activity activity) {
         SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(activity);
         String url = preferences.getString(Constants.PREFERENCE_OPENLICHT_URL, "");
-        if (retrofit == null) {
+        if (retrofit == null || !retrofit.baseUrl().toString().equals(url)) {
             retrofit = new Retrofit.Builder()
                     .baseUrl(url)
                     .addConverterFactory(GsonConverterFactory.create())