diff --git a/index.pl b/index.pl
index dfc3358b0729dd2ba01180052c4f5954580a4f3a..d0e29c6243a31d68838df6f14360acdb153b0a16 100755
--- a/index.pl
+++ b/index.pl
@@ -923,7 +923,13 @@ post '/login' => sub {
 			$self->redirect_to('/');
 		}
 		else {
-			$self->render( 'login', invalid => 'credentials' );
+			my $data = $self->get_user_password($user);
+			if ( $data and $data->{status} == 0 ) {
+				$self->render( 'login', invalid => 'confirmation' );
+			}
+			else {
+				$self->render( 'login', invalid => 'credentials' );
+			}
 		}
 	}
 };
diff --git a/templates/login.html.ep b/templates/login.html.ep
index cf4364f63135fe042dde60d451ffb2b61177780b..fc8bbb80653df5bd11fdc1d811f2303245679e9e 100644
--- a/templates/login.html.ep
+++ b/templates/login.html.ep
@@ -34,11 +34,15 @@
 					% }
 					% elsif ($invalid eq 'credentials') {
 						<span class="card-title">Ungültige Logindaten</span>
-						<p>Falscher (oder noch nicht freigeschalteter) Account oder falsches Passwort.</p>
+						<p>Falscher Account oder falsches Passwort.</p>
+					% }
+					% elsif ($invalid eq 'confirmation') {
+						<span class="card-title">Account nicht freigeschaltet</span>
+						<p>Bitte besuche zuerst den per Mail verschickten Bestätigungslink.</p>
 					% }
 					% else {
 						<span class="card-title">Unbekannter Fehler</span>
-						<p>Das sollte nicht passierenâ„¢</p>
+						<p>„<%= $invalid %>“</p>
 					% }
 				</div>
 			</div>