diff --git a/model/mediafolder.go b/model/mediafolder.go
index 3a3b28abc..aebbd4ee5 100644
--- a/model/mediafolder.go
+++ b/model/mediafolder.go
@@ -1,8 +1,7 @@
 package model
 
 type MediaFolder struct {
-	// TODO Change to int
-	ID   string
+	ID   int32
 	Name string
 	Path string
 }
diff --git a/persistence/mediafolders_repository.go b/persistence/mediafolders_repository.go
index 1d64e0f2e..31a242703 100644
--- a/persistence/mediafolders_repository.go
+++ b/persistence/mediafolders_repository.go
@@ -29,7 +29,7 @@ func (*mediaFolderRepository) GetAll() (model.MediaFolders, error) {
 }
 
 func hardCoded() model.MediaFolder {
-	mediaFolder := model.MediaFolder{ID: "0", Path: conf.Server.MusicFolder}
+	mediaFolder := model.MediaFolder{ID: 0, Path: conf.Server.MusicFolder}
 	mediaFolder.Name = "Music Library"
 	return mediaFolder
 }
diff --git a/server/subsonic/browsing.go b/server/subsonic/browsing.go
index a1110d82d..16d2f708f 100644
--- a/server/subsonic/browsing.go
+++ b/server/subsonic/browsing.go
@@ -3,7 +3,6 @@ package subsonic
 import (
 	"context"
 	"net/http"
-	"strconv"
 	"time"
 
 	"github.com/deluan/navidrome/conf"
@@ -26,9 +25,7 @@ func (c *BrowsingController) GetMusicFolders(w http.ResponseWriter, r *http.Requ
 	mediaFolderList, _ := c.browser.MediaFolders(r.Context())
 	folders := make([]responses.MusicFolder, len(mediaFolderList))
 	for i, f := range mediaFolderList {
-		// TODO Change model.MediaFolder.ID to int
-		id, _ := strconv.ParseInt(f.ID, 10, 32)
-		folders[i].Id = int32(id)
+		folders[i].Id = f.ID
 		folders[i].Name = f.Name
 	}
 	response := NewResponse()