diff --git src/wp-signup.php src/wp-signup.php
index cbc4ddb..ae6536f 100644
--- src/wp-signup.php
+++ src/wp-signup.php
@@ -983,20 +983,34 @@ if ( 'none' === $active_signup ) {
 			}
 
 			if ( $newblogname ) {
-				$newblog = get_blogaddress_by_name( $newblogname );
-
-				if ( 'blog' === $active_signup || 'all' === $active_signup ) {
-					printf(
-						/* translators: %s: Site address. */
-						'<p>' . __( 'The site you were looking for, %s, does not exist, but you can create it now!' ) . '</p>',
-						'<strong>' . $newblog . '</strong>'
-					);
+				$current_network = get_network();
+				$home_url = get_home_url();
+				$host = parse_url( $home_url, PHP_URL_HOST );
+				if ( is_subdomain_install() ) {
+					$host_parts = explode( '.', $host );
+					$apex_parts = array_slice( $host_parts, -2 );
+					$domain = $newblogname . $apex_parts[0] . $apex_parts[1];
+					$path = $current_network->path;
 				} else {
-					printf(
-						/* translators: %s: Site address. */
-						'<p>' . __( 'The site you were looking for, %s, does not exist.' ) . '</p>',
-						'<strong>' . $newblog . '</strong>'
-					);
+					$domain = $host;
+					$path = $current_network->path . $newblogname . '/';
+				}
+				if ( ! domain_exists( $domain, $path, $current_network->id ) ) {
+					$newblog = get_blogaddress_by_name( $newblogname );
+
+					if ( 'blog' === $active_signup || 'all' === $active_signup ) {
+						printf(
+							/* translators: %s: Site address. */
+							'<p>' . __( 'The site you were looking for, %s, does not exist, but you can create it now!' ) . '</p>',
+							'<strong>' . $newblog . '</strong>'
+						);
+					} else {
+						printf(
+							/* translators: %s: Site address. */
+							'<p>' . __( 'The site you were looking for, %s, does not exist.' ) . '</p>',
+							'<strong>' . $newblog . '</strong>'
+						);
+					}
 				}
 			}
 			break;
