diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 4d3db9f80..cafacbd19 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -129,6 +129,12 @@
+
+
diff --git a/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java b/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java
index c30f23397..fa43cb82b 100644
--- a/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java
+++ b/src/org/fdroid/fdroid/views/fragments/RepoListFragment.java
@@ -208,6 +208,14 @@ public class RepoListFragment extends ListFragment
* case means it should be downcased.
*/
uri = Uri.parse(uri.toString().toLowerCase(Locale.ENGLISH));
+ } else if (uri.getPath().startsWith("/FDROID/REPO")) {
+ /*
+ * some QR scanners chop off the fdroidrepo:// and just try
+ * http://, then the incoming URI does not get downcased
+ * properly, and the query string is stripped off. So just
+ * downcase the path, and carry on to get something working.
+ */
+ uri = Uri.parse(uri.toString().toLowerCase(Locale.ENGLISH));
}
// make scheme and host lowercase so they're readable in dialogs
scheme = scheme.toLowerCase(Locale.ENGLISH);