diff --git a/src/qt/test/uritests.cpp b/src/qt/test/uritests.cpp
--- a/src/qt/test/uritests.cpp
+++ b/src/qt/test/uritests.cpp
@@ -9,74 +9,80 @@
 
 #include <QUrl>
 
-void URITests::uriTests() {
+static void runUriTests(const QString &addr, bool hasScheme) {
+
+    auto S = [&hasScheme](const QString &addr) {
+        return hasScheme ? addr : "bitcoincash:" + addr;
+    };
+
     SendCoinsRecipient rv;
     QUrl uri;
-    uri.setUrl(QString(
-        "bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-dontexist="));
+    uri.setUrl(QString(S(addr) + "?req-dontexist="));
     QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
 
-    uri.setUrl(
-        QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?dontexist="));
+    uri.setUrl(QString(S(addr) + "?dontexist="));
     QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
-    QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
+    QVERIFY(rv.address == QString(addr));
     QVERIFY(rv.label == QString());
     QVERIFY(rv.amount == 0);
 
-    uri.setUrl(QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?label="
-                       "Wikipedia Example Address"));
+    uri.setUrl(QString(S(addr) + "?label="
+                                 "Wikipedia Example Address"));
     QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
-    QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
+    QVERIFY(rv.address == QString(addr));
     QVERIFY(rv.label == QString("Wikipedia Example Address"));
     QVERIFY(rv.amount == 0);
 
-    uri.setUrl(
-        QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=0.001"));
+    uri.setUrl(QString(S(addr) + "?amount=0.001"));
     QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
-    QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
+    QVERIFY(rv.address == QString(addr));
     QVERIFY(rv.label == QString());
     QVERIFY(rv.amount == 100000);
 
-    uri.setUrl(
-        QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1.001"));
+    uri.setUrl(QString(S(addr) + "?amount=1.001"));
     QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
-    QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
+    QVERIFY(rv.address == QString(addr));
     QVERIFY(rv.label == QString());
     QVERIFY(rv.amount == 100100000);
 
-    uri.setUrl(
-        QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=100&"
-                "label=Wikipedia Example"));
+    uri.setUrl(QString(S(addr) + "?amount=100&"
+                                 "label=Wikipedia Example"));
     QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
-    QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
+    QVERIFY(rv.address == QString(addr));
     QVERIFY(rv.amount == 10000000000LL);
     QVERIFY(rv.label == QString("Wikipedia Example"));
 
-    uri.setUrl(QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?message="
-                       "Wikipedia Example Address"));
+    uri.setUrl(QString(S(addr) + "?message="
+                                 "Wikipedia Example Address"));
     QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
-    QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
+    QVERIFY(rv.address == QString(addr));
     QVERIFY(rv.label == QString());
 
-    QVERIFY(GUIUtil::parseBitcoinURI("bitcoincash://"
-                                     "175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?"
-                                     "message=Wikipedia Example Address",
-                                     &rv));
-    QVERIFY(rv.address == QString("175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W"));
+    QVERIFY(GUIUtil::parseBitcoinURI(
+        "bitcoincash://" + addr + "?message=Wikipedia Example Address", &rv));
+    QVERIFY(rv.address == QString(addr));
     QVERIFY(rv.label == QString());
 
-    uri.setUrl(
-        QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?req-message="
-                "Wikipedia Example Address"));
+    uri.setUrl(QString(S(addr) + "?req-message="
+                                 "Wikipedia Example Address"));
     QVERIFY(GUIUtil::parseBitcoinURI(uri, &rv));
 
-    uri.setUrl(
-        QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,"
-                "000&label=Wikipedia Example"));
+    uri.setUrl(QString(S(addr) + "?amount=1,"
+                                 "000&label=Wikipedia Example"));
     QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
 
-    uri.setUrl(
-        QString("bitcoincash:175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W?amount=1,"
-                "000.0&label=Wikipedia Example"));
+    uri.setUrl(QString(S(addr) + "?amount=1,"
+                                 "000.0&label=Wikipedia Example"));
     QVERIFY(!GUIUtil::parseBitcoinURI(uri, &rv));
 }
+
+void URITests::uriTests() {
+
+    // TODO: Update address when cashaddr is finalized
+    const QString cashaddr =
+        "bitcoincash:qznsljkyhz5kvs94qn3w5sddktpg553jvi2ks52";
+    const QString legacy = "175tWpb8K1S7NmH4Zx6rewF9WQrcZv245W";
+
+    runUriTests(legacy, false);
+    runUriTests(cashaddr, false);
+}