diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index 3c824d5..824b010 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -887,7 +887,7 @@ redirect_handler (SoupMessage *msg, gpointer user_data)
 	 * are lame, so we use soup_uri_new_with_base().
 	 */
 	new_uri = soup_uri_new_with_base (soup_message_get_uri (msg), new_loc);
-	if (!new_uri) {
+	if (!new_uri || !new_uri->host) {
 		soup_message_set_status_full (msg,
 					      SOUP_STATUS_MALFORMED,
 					      "Invalid Redirect URL");
