diff --git a/client/src/adapters/api.ts b/client/src/adapters/api.ts
index c583aebd76340b9e6ec94888937162eb9efb6a13..ae5d6a5b986b51d1e01158071631b75e51e80764 100644
--- a/client/src/adapters/api.ts
+++ b/client/src/adapters/api.ts
@@ -21,20 +21,23 @@ export function setAccesstoken(token: string): void {
     localStorage.setItem('access-token', token);
 }
 
-export function registerUser(username: string, password: string): boolean {
-    axios.post(`${baseUrl}/auth/register`, {
-        username: username,
-        password: password
-    }).then(() => {
-        axios.post(`${baseUrl}/auth/token`, {
+export function registerUser(username: string, password: string) {
+    return new Promise(function (resolve, reject) {
+        axios.post(`${baseUrl}/auth/register`, {
             username: username,
             password: password
-        }).then(({ data }) => {
-            setAccesstoken(data.token);
-            return true;
-        }).catch(() => {
+        }).then(() => {
+            axios.post(`${baseUrl}/auth/token`, {
+                username: username,
+                password: password
+            }).then(({ data }) => {
+                setAccesstoken(data.token);
+                resolve(true);
+            }).catch((e) => {
+                reject(e);
+            });
+        }).catch((e) => {
+            reject(e);
         });
-    }).catch(() => {
-    });
-    return false;
+    })
 }
diff --git a/client/src/pages/Register/index.tsx b/client/src/pages/Register/index.tsx
index 28de5f6cb19a8c3f70107e81ad225641874e1793..5f38639252dfe4641d15741773d0e42140b122f2 100644
--- a/client/src/pages/Register/index.tsx
+++ b/client/src/pages/Register/index.tsx
@@ -2,7 +2,7 @@ import Page from 'components/ui/Page';
 import TextInput from 'components/ui/TextInput';
 import Button from 'components/ui/Button';
 import { FormEvent, useState } from 'react';
-import { Link } from 'react-router-dom';
+import { Link, useHistory } from 'react-router-dom';
 import { registerUser } from 'adapters/api';
 import './register.scss';
 
@@ -20,19 +20,26 @@ export default function Register() {
 
     const [password, setPassword] = useState<string>('');
     const [passwordError, setPasswordError] = useState<string>('');
+    
+    const history = useHistory();
 
 
-    const register = (e: FormEvent) => {
+    const register = async (e: FormEvent) => {
         e.preventDefault();
 
         if (usernameIsValid(username) && passwordIsValid(password)) {
             setPasswordError('');
             setUsernameError('');
 
-            if (registerUser(username, password)) {
-                console.log('success');
-            }
             
+            await registerUser(username, password).then((data) => {
+                console.log(data);
+                
+                history.push('/tasks');
+            }).catch(() => {
+                setUsernameError('This username is already used.');
+            });
+
         } else {
             if (!usernameIsValid(username))
                 setUsernameError('Your username has to be at least 4 characters long');