diff -rup gnome-screensaver-2.30.2.orig/src/gs-auth-pam.c gnome-screensaver-2.30.2/src/gs-auth-pam.c
--- gnome-screensaver-2.30.2.orig/src/gs-auth-pam.c	2010-09-28 12:46:07.000000000 -0400
+++ gnome-screensaver-2.30.2/src/gs-auth-pam.c	2011-04-28 10:18:31.986171767 -0400
@@ -533,6 +533,14 @@ gs_auth_thread_func (int auth_operation_
         case PAM_SUCCESS:
                 break;
         case PAM_NEW_AUTHTOK_REQD:
+                status2 = pam_chauthtok (pam_handle, PAM_CHANGE_EXPIRED_AUTHTOK);
+
+                if (status2 != PAM_SUCCESS) {
+                    g_message ("pam_acct_mgmt (...) ==> %d (%s)\n",
+                           status2,
+                           PAM_STRERROR (pam_handle, status2));
+		    status = status2;
+                }
                 break;
         case PAM_AUTHINFO_UNAVAIL:
                 break;
