diff --git a/src/logic/routers/DeviceRouter.py b/src/logic/routers/DeviceRouter.py
index 1d384f9e30b1556b7adfc49f32f2fa77525ca0da..2cff344b31c26b1f0a4c729973146cd093a569cd 100644
--- a/src/logic/routers/DeviceRouter.py
+++ b/src/logic/routers/DeviceRouter.py
@@ -34,20 +34,26 @@ async def read_device(deviceId: int, db: Session = Depends(get_database)):
              responses={400: {'description': 'Device with this name already exists'}},
              dependencies=[Depends(check_api_key)])
 async def create_device(device: Schemas.DeviceCreate, db: Session = Depends(get_database)):
-    createdDevice = Crud.get_device_by_name(db, device.name)
-    if createdDevice:
+    existingDevice = Crud.get_device_by_name(db, device.name)
+    if existingDevice:
         raise HTTPException(status_code=400, detail='Device with this name already exists')
     return Crud.create_device(db=db, device=device)
 
 
 @router.put('/{deviceId}', response_model=Schemas.Device,
-            summary='Updates a  device',
-            responses={404: {'description': 'Device not found'}},
+            summary='Updates a device',
+            responses={400: {'description': 'Device with this name already exists'},
+                       404: {'description': 'Device not found'}},
             dependencies=[Depends(check_api_key)])
 async def update_device(deviceId: int, device: Schemas.DeviceCreate, db: Session = Depends(get_database)):
-    createdDevice = Crud.get_device_by_name(db, device.name)
-    if createdDevice:
+    existingDevice = Crud.get_device(db, deviceId)
+    if not existingDevice:
         raise HTTPException(status_code=404, detail='Device not found')
+
+    existingDevice = Crud.get_device_by_name(db, device.name)
+    if existingDevice:
+        raise HTTPException(status_code=400, detail='Device with this name already exists')
+
     return Crud.update_device(db=db, deviceId=deviceId, device=device)