diff --git a/engine/browser.go b/engine/browser.go
index 8b4d31fd2..116d4e1ac 100644
--- a/engine/browser.go
+++ b/engine/browser.go
@@ -15,7 +15,7 @@ import (
 
 type Browser interface {
 	MediaFolders(ctx context.Context) (model.MediaFolders, error)
-	Indexes(ctx context.Context, ifModifiedSince time.Time) (model.ArtistIndexes, time.Time, error)
+	Indexes(ctx context.Context, mediaFolderId string, ifModifiedSince time.Time) (model.ArtistIndexes, time.Time, error)
 	Directory(ctx context.Context, id string) (*DirectoryInfo, error)
 	Artist(ctx context.Context, id string) (*DirectoryInfo, error)
 	Album(ctx context.Context, id string) (*DirectoryInfo, error)
@@ -35,8 +35,11 @@ func (b *browser) MediaFolders(ctx context.Context) (model.MediaFolders, error)
 	return b.ds.MediaFolder(ctx).GetAll()
 }
 
-func (b *browser) Indexes(ctx context.Context, ifModifiedSince time.Time) (model.ArtistIndexes, time.Time, error) {
-	l, err := b.ds.Property(ctx).DefaultGet(model.PropLastScan, "-1")
+func (b *browser) Indexes(ctx context.Context, mediaFolderId string, ifModifiedSince time.Time) (model.ArtistIndexes, time.Time, error) {
+	// TODO Proper handling of mediaFolderId param
+	folder, err := b.ds.MediaFolder(ctx).Get(mediaFolderId)
+
+	l, err := b.ds.Property(ctx).DefaultGet(model.PropLastScan+"-"+folder.Path, "-1")
 	ms, _ := strconv.ParseInt(l, 10, 64)
 	lastModified := utils.ToTime(ms)
 
diff --git a/model/mediafolder.go b/model/mediafolder.go
index a78028d79..39a178366 100644
--- a/model/mediafolder.go
+++ b/model/mediafolder.go
@@ -9,5 +9,6 @@ type MediaFolder struct {
 type MediaFolders []MediaFolder
 
 type MediaFolderRepository interface {
+	Get(id string) (*MediaFolder, error)
 	GetAll() (MediaFolders, error)
 }
diff --git a/persistence/mediafolders_repository.go b/persistence/mediafolders_repository.go
index be47ebecf..1d64e0f2e 100644
--- a/persistence/mediafolders_repository.go
+++ b/persistence/mediafolders_repository.go
@@ -16,12 +16,22 @@ func NewMediaFolderRepository(ctx context.Context, o orm.Ormer) model.MediaFolde
 	return &mediaFolderRepository{ctx}
 }
 
+func (r *mediaFolderRepository) Get(id string) (*model.MediaFolder, error) {
+	mediaFolder := hardCoded()
+	return &mediaFolder, nil
+}
+
 func (*mediaFolderRepository) GetAll() (model.MediaFolders, error) {
-	mediaFolder := model.MediaFolder{ID: "0", Path: conf.Server.MusicFolder}
-	mediaFolder.Name = "Music Library"
+	mediaFolder := hardCoded()
 	result := make(model.MediaFolders, 1)
 	result[0] = mediaFolder
 	return result, nil
 }
 
+func hardCoded() model.MediaFolder {
+	mediaFolder := model.MediaFolder{ID: "0", Path: conf.Server.MusicFolder}
+	mediaFolder.Name = "Music Library"
+	return mediaFolder
+}
+
 var _ model.MediaFolderRepository = (*mediaFolderRepository)(nil)
diff --git a/server/subsonic/browsing.go b/server/subsonic/browsing.go
index 2d6ec63ad..d2c0ea057 100644
--- a/server/subsonic/browsing.go
+++ b/server/subsonic/browsing.go
@@ -33,8 +33,8 @@ func (c *BrowsingController) GetMusicFolders(w http.ResponseWriter, r *http.Requ
 	return response, nil
 }
 
-func (c *BrowsingController) getArtistIndex(r *http.Request, ifModifiedSince time.Time) (*responses.Indexes, error) {
-	indexes, lastModified, err := c.browser.Indexes(r.Context(), ifModifiedSince)
+func (c *BrowsingController) getArtistIndex(r *http.Request, musicFolderId string, ifModifiedSince time.Time) (*responses.Indexes, error) {
+	indexes, lastModified, err := c.browser.Indexes(r.Context(), musicFolderId, ifModifiedSince)
 	if err != nil {
 		log.Error(r, "Error retrieving Indexes", "error", err)
 		return nil, NewError(responses.ErrorGeneric, "Internal Error")
@@ -59,9 +59,10 @@ func (c *BrowsingController) getArtistIndex(r *http.Request, ifModifiedSince tim
 }
 
 func (c *BrowsingController) GetIndexes(w http.ResponseWriter, r *http.Request) (*responses.Subsonic, error) {
+	musicFolderId := ParamString(r, "musicFolderId")
 	ifModifiedSince := ParamTime(r, "ifModifiedSince", time.Time{})
 
-	res, err := c.getArtistIndex(r, ifModifiedSince)
+	res, err := c.getArtistIndex(r, musicFolderId, ifModifiedSince)
 	if err != nil {
 		return nil, err
 	}
@@ -72,7 +73,8 @@ func (c *BrowsingController) GetIndexes(w http.ResponseWriter, r *http.Request)
 }
 
 func (c *BrowsingController) GetArtists(w http.ResponseWriter, r *http.Request) (*responses.Subsonic, error) {
-	res, err := c.getArtistIndex(r, time.Time{})
+	musicFolderId := ParamString(r, "musicFolderId")
+	res, err := c.getArtistIndex(r, musicFolderId, time.Time{})
 	if err != nil {
 		return nil, err
 	}