--- a/branches/2.5.4RC1/cgi-bin/yabb2/Sources/Register.pm
+++ b/branches/2.5.4RC1/cgi-bin/yabb2/Sources/Register.pm
@@ -1,6 +1,6 @@
 ###############################################################################
 # Register.pm                                                                 #
-# $Date: 9.05.13 $                                                            #
+# $Date: 02.17.14$                                                            #
 ###############################################################################
 # YaBB: Yet another Bulletin Board                                            #
 # Open-Source Community Software for Webmasters                               #
@@ -19,7 +19,7 @@
 use English '-no_match_vars';
 our $VERSION = '2.5.41';
 
-$registerpmver = 'YaBB 2.5.4 RC1 $Revision: 1225 $';
+$registerpmver = 'YaBB 2.5.4 RC1 $Revision: 1412 $';
 if ( $action eq 'detailedversion' ) { return 1; }
 if ( !$iamguest
     && ( !$admin && $action ne 'activate' && $action ne 'admin_descision' ) )
@@ -1079,8 +1079,8 @@
     if ( !-e "$memberdir/$reguser.pre" && -e "$memberdir/$reguser.vars" ) {
         fatal_error('already_activated');
     }
-    if ( !-e "$memberdir/$reguser.pre" ) { fatal_error('prereg_expired'); }
-
+    if ( ( $regtype != 1 && !-e "$memberdir/$reguser.pre" ) || ( $regtype == 1 && !-e "$memberdir/$reguser.pre" && !-e "$memberdir/$reguser.wait" ) ) { fatal_error('prereg_expired'); }
+    elsif ( $regtype == 1 && -e "$memberdir/$reguser.wait" ) { fatal_error('prereg_wait'); }
     # If a pre-registration list exists load it
     if ( -e "$memberdir/memberlist.inactive" ) {
         fopen( INACT, "$memberdir/memberlist.inactive" );
@@ -1158,7 +1158,7 @@
             elsif ( $regtype == 2 ) {
                 LoadUser($reguser);
 
-                # ckeck if email is allready in active use
+                # check if email is already in active use
                 if (
                     lc ${ $uid . $reguser }{'email'} eq
                     lc MemberIndex( 'check_exist',