diff --git a/src/modules/partition/core/PartitionModel.cpp b/src/modules/partition/core/PartitionModel.cpp
index beb7ea63302daca54bb06a3ab4be14b37157c2f1..ae15b5c91e18a8169cb8546f9ac833ddddbdb3a5 100644
--- a/src/modules/partition/core/PartitionModel.cpp
+++ b/src/modules/partition/core/PartitionModel.cpp
@@ -205,27 +205,37 @@ PartitionModel::data( const QModelIndex& index, int role ) const
     // Osprober roles:
     case OsproberNameRole:
         foreach ( const OsproberEntry& osproberEntry, m_osproberEntries )
-            if ( osproberEntry.path == partition->partitionPath() )
+            if ( partition->fileSystem().supportGetUUID() != FileSystem::cmdSupportNone &&
+                 !partition->fileSystem().uuid().isEmpty() &&
+                 osproberEntry.uuid == partition->fileSystem().uuid() )
                 return osproberEntry.prettyName;
         return QVariant();
     case OsproberPathRole:
         foreach ( const OsproberEntry& osproberEntry, m_osproberEntries )
-            if ( osproberEntry.path == partition->partitionPath() )
+            if ( partition->fileSystem().supportGetUUID() != FileSystem::cmdSupportNone &&
+                 !partition->fileSystem().uuid().isEmpty() &&
+                 osproberEntry.uuid == partition->fileSystem().uuid() )
                 return osproberEntry.path;
         return QVariant();
     case OsproberCanBeResizedRole:
         foreach ( const OsproberEntry& osproberEntry, m_osproberEntries )
-            if ( osproberEntry.path == partition->partitionPath() )
+            if ( partition->fileSystem().supportGetUUID() != FileSystem::cmdSupportNone &&
+                 !partition->fileSystem().uuid().isEmpty() &&
+                 osproberEntry.uuid == partition->fileSystem().uuid() )
                 return osproberEntry.canBeResized;
         return QVariant();
     case OsproberRawLineRole:
         foreach ( const OsproberEntry& osproberEntry, m_osproberEntries )
-            if ( osproberEntry.path == partition->partitionPath() )
+            if ( partition->fileSystem().supportGetUUID() != FileSystem::cmdSupportNone &&
+                 !partition->fileSystem().uuid().isEmpty() &&
+                 osproberEntry.uuid == partition->fileSystem().uuid() )
                 return osproberEntry.line;
         return QVariant();
     case OsproberHomePartitionPathRole:
         foreach ( const OsproberEntry& osproberEntry, m_osproberEntries )
-            if ( osproberEntry.path == partition->partitionPath() )
+            if ( partition->fileSystem().supportGetUUID() != FileSystem::cmdSupportNone &&
+                 !partition->fileSystem().uuid().isEmpty() &&
+                 osproberEntry.uuid == partition->fileSystem().uuid() )
                 return osproberEntry.homePath;
         return QVariant();
     // end Osprober roles.