diff --git a/config/dbconn.ts b/config/dbconn.ts
index c13c40f11c2c3994791d75c866c5cfc6d210e1d7..845697e5b8135e50ad0b3293c839ad976c9312d3 100644
--- a/config/dbconn.ts
+++ b/config/dbconn.ts
@@ -4,59 +4,34 @@ var env = process.env.NODE_ENV || 'testing'
 const config = require('./config')[env]
 
 // ==== USER ACOOUNT DB CONNECTION ====
-var userConnection = mysql.createConnection({
+const userConnection = mysql.createPool({
     host: config.database.host,
     user: config.database.user,
     password: config.database.password,
     port: config.database.port,
     database: config.database.dbUser,
-    multipleStatements: true
-})
+    waitForConnections: true,
+    connectionLimit: 10,
+    queueLimit: 0
+});
 
-userConnection.connect(function(err) {
-    if (err) throw err
-})
 userConnection.query('USE '+config.database.dbUser)
 
-// ALTERNATIVE approach: close db connection manually after every query
-/*
-var dbconn = function dbconn(query, values, next) {
-    var connection = mysql.createConnection({
-        host: config.database.host,
-        user: config.database.user,
-        password: config.database.password,
-        port: config.database.port,
-        database: config.database.db
-    })
-    connection.connect(function(err) {
-        if (err) throw err;
-    })
-    connection.query(query, values, function(err) {
-        connection.end(); // close the connection
-        if (err) {
-            throw err;
-        }
-        // Execute the callback
-        next.apply(this, arguments);
-    });
-}
-*/
-
 // ==== PROJECT DB CONNECTION ====
-var projectConnection = mysql.createConnection({
+const projectConnection = mysql.createPool({
     host: config.database.host_project,
     user: config.database.user,
     password: config.database.password,
     port: config.database.port,
-    database: config.database.dbProject
-})
+    database: config.database.dbProject,
+    waitForConnections: true,
+    connectionLimit: 10,
+    queueLimit: 0
+});
 
-projectConnection.connect(function(err) {
-    if (err) throw err
-})
 projectConnection.query('USE '+config.database.dbProject)
 
-var connection = {
+const connection = {
     user: userConnection,
     project: projectConnection
 }
diff --git a/routes/public.ts b/routes/public.ts
index 43b28e8a756df5fa8b942167dff51714e89d476d..f535b5e205b862e3b582ec1b5abb6ee0e467bef5 100644
--- a/routes/public.ts
+++ b/routes/public.ts
@@ -237,9 +237,11 @@ export = function (app:any, config:any, lang:string) {
         // encrypt password
         bcrypt.genSalt(saltRounds, function(err, salt) {
           bcrypt.hash(newPwd, salt, async function(err:any, hash) {
-            var credentialData = {
+            let credentialData = {
               password: hash,
-              user_id: user.user_id
+              user_id: user.user_id,
+              resetPasswordToken: null,
+              resetPasswordExpires: null
             }
             // update password
             let result = await methods.updateCredential(credentialData)
@@ -248,7 +250,7 @@ export = function (app:any, config:any, lang:string) {
               res.flash('error', "Datenbankfehler: Passwort kann nicht geändert werden.")
             } else {
               res.flash('success', "Passwort aktualisiert!")
-              // send notifiaction email
+              // send notification email
               mailer.options.to = user.email
               mailer.options.subject = constants.updatePasswordMailSubject
               mailer.options.html = constants.updatePasswordMailContent+'<div>'+constants.mailSignature+'</div>'