diff --git a/rust/bt-bass/src/types.rs b/rust/bt-bass/src/types.rs
index e8db40e..30a4388 100644
--- a/rust/bt-bass/src/types.rs
+++ b/rust/bt-bass/src/types.rs
@@ -550,8 +550,12 @@
         }
         let bit_mask = 0b1 << (bis_index - 1);
 
-        // Clear the bit that we're interested in setting.
-        self.0 &= !(0b1 << bis_index - 1);
+        if self.0 == Self::NO_PREFERENCE {
+            // No preference should be re-set to 0 so that all subsequent bit_mask
+            // operations correctly set the bits for the specified `bis_index`.
+            // See BASS v1.0.1 Section 3.1.1.4 Table 3.5.
+            self.0 = 0;
+        }
         self.0 |= bit_mask;
         Ok(())
     }
@@ -1103,6 +1107,21 @@
     }
 
     #[test]
+    fn synchronize_to_index_from_default() {
+        let mut bis_sync_default = BisSync::default();
+        assert_eq!(u32::from(bis_sync_default.clone()), 0xFFFFFFFF);
+
+        // An initial synchronization of no preference should correctly be set with the
+        // requested index.
+        bis_sync_default.synchronize_to_index(1).expect("should succeed");
+        assert_eq!(u32::from(bis_sync_default.clone()), 0x1);
+
+        // Additional index should be accumulated correctly.
+        bis_sync_default.synchronize_to_index(6).expect("should succeed");
+        assert_eq!(u32::from(bis_sync_default), 0x21);
+    }
+
+    #[test]
     fn pa_sync_from_str() {
         let sync = PaSync::from_str("PaSyncOff").expect("should succeed");
         assert_eq!(sync, PaSync::DoNotSync);
