diff --git a/AndroidManifest.xml b/AndroidManifest.xml
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -11,6 +11,23 @@
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
 
+    <queries>
+        <intent>
+            <action android:name="android.intent.action.VIEW" />
+            <data android:scheme="http" />
+        </intent>
+        <intent>
+            <action android:name="android.intent.action.VIEW" />
+            <data android:scheme="https" />
+        </intent>
+        <intent>
+            <action android:name="com.google.zxing.client.android.SCAN" />
+        </intent>
+        <intent>
+            <action android:name="com.google.zxing.client.android.ENCODE" />
+        </intent>
+    </queries>
+
     <application
             android:name=".BustoApp"
             android:allowBackup="true"
diff --git a/src/it/reyboz/bustorino/backend/FiveTStopsFetcher.java b/src/it/reyboz/bustorino/backend/FiveTStopsFetcher.java
--- a/src/it/reyboz/bustorino/backend/FiveTStopsFetcher.java
+++ b/src/it/reyboz/bustorino/backend/FiveTStopsFetcher.java
@@ -47,7 +47,7 @@
         String stopLocation;
         //Stop busStop;
 
-        if(name.length() < 3) {
+        if(name.length() < 2) { //some stops are shorter than 3 chars.. "PO" is an example
             res.set(Result.QUERY_TOO_SHORT);
             return busStops;
         }
diff --git a/src/it/reyboz/bustorino/backend/GTTStopsFetcher.java b/src/it/reyboz/bustorino/backend/GTTStopsFetcher.java
--- a/src/it/reyboz/bustorino/backend/GTTStopsFetcher.java
+++ b/src/it/reyboz/bustorino/backend/GTTStopsFetcher.java
@@ -47,7 +47,7 @@
         int howManyStops, i;
         JSONObject thisstop;
 
-        if(name.length() < 3) {
+        if(name.length() < 2) {
             res.set(Result.QUERY_TOO_SHORT);
             return s;
         }
diff --git a/src/it/reyboz/bustorino/backend/utils.java b/src/it/reyboz/bustorino/backend/utils.java
--- a/src/it/reyboz/bustorino/backend/utils.java
+++ b/src/it/reyboz/bustorino/backend/utils.java
@@ -137,6 +137,8 @@
         if (browserIntent1.resolveActivity(context.getPackageManager()) != null) {
             //check we have an activity ready to receive intents (otherwise, there will be a crash)
             context.startActivity(browserIntent1);
+        } else{
+            Log.e("BusTO","openIceweasel can't find a browser");
         }
     }
 
diff --git a/src/it/reyboz/bustorino/fragments/MainScreenFragment.java b/src/it/reyboz/bustorino/fragments/MainScreenFragment.java
--- a/src/it/reyboz/bustorino/fragments/MainScreenFragment.java
+++ b/src/it/reyboz/bustorino/fragments/MainScreenFragment.java
@@ -467,7 +467,7 @@
             if(getContext()!=null) {
                 if (query.length() < 1) {
                     Toast.makeText(getContext(), R.string.insert_bus_stop_name_error, Toast.LENGTH_SHORT).show();
-                } else if(query.length()< 3){
+                } else if(query.length()< 2){
                     Toast.makeText(getContext(), R.string.query_too_short, Toast.LENGTH_SHORT).show();
                 }
                 else {