diff --git a/src/libs/sound/tsound.cpp b/src/libs/sound/tsound.cpp
index 94c04ab63c5e587999d3ef28de508f6b36320ff2..4b51589ae8d2c6214af24bbbd9025978511995b8 100755
--- a/src/libs/sound/tsound.cpp
+++ b/src/libs/sound/tsound.cpp
@@ -76,7 +76,7 @@ Tsound::~Tsound()
 //#################################################################################################
 
 void Tsound::init() {
-  QTimer::singleShot(1000, [=]{
+  QTimer::singleShot(500, [=]{
 #if !defined (Q_OS_ANDROID) && (defined (Q_OS_LINUX) || defined (Q_OS_WIN))
       TrtAudio::initJACKorASIO(GLOB->A->JACKorASIO);
 #endif
@@ -315,7 +315,7 @@ bool Tsound::listening() const {
 
 
 bool Tsound::playing() const {
-  return player->isPlaying();
+  return player ? player->isPlaying() : false;
 }
 
 
diff --git a/src/main.cpp b/src/main.cpp
index 5f8b0d6e73ab81fc68aca78f5a85cf4932506355..78d797f80baa4f30741821e55a054412cb4776de 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -166,6 +166,7 @@ int main(int argc, char *argv[])
       o << "\033[01;35m[Nootka launch time: " << startElapsed.nsecsElapsed() / 1000000.0 << " [ms]\033[01;00m\n";
 #endif
     }
+    sound.init();
     firstTime = false;
     exitCode = a->exec();
     delete e;
diff --git a/src/qml/MainScore.qml b/src/qml/MainScore.qml
index 7643408cb700087178ccc14592705ca102011f11..561859c4752af424a25bd0ae9e8cdae94055e976 100644
--- a/src/qml/MainScore.qml
+++ b/src/qml/MainScore.qml
@@ -41,8 +41,6 @@ Score {
   scoreObj.nameColor: GLOB.nameColor
   scoreObj.nameStyle: GLOB.noteNameStyle
   scoreObj.enableDoubleAccidentals: GLOB.enableDoubleAccids
-  scoreObj.allowAdding: !GLOB.singleNoteMode
-
 
   Timer { id: zoomTimer; interval: 500 }
   MouseArea {
@@ -83,11 +81,14 @@ Score {
   // private
   property var scordature: null
 
-  Component.onCompleted: {
-    scoreObj.singleNote = GLOB.singleNoteMode
-    updateScord()
+  Connections {
+    target: SOUND
+    onInitialized: {
+      scoreObj.singleNote = GLOB.singleNoteMode
+      scoreObj.allowAdding = Qt.binding(function() { return !GLOB.singleNoteMode })
+      updateScord()
+    }
   }
-
   Connections {
     target: GLOB
     onKeyNameChanged: keyName.text = Qt.binding(keyName.getKeyNameText)
diff --git a/src/qml/MainWindow.qml b/src/qml/MainWindow.qml
index bc019d895d309d826d5c4a53fe82db9b40338561..78fbda329a0aca32f25faebd9fc49fc82ad8e2e3 100644
--- a/src/qml/MainWindow.qml
+++ b/src/qml/MainWindow.qml
@@ -88,7 +88,6 @@ ApplicationWindow {
   Component.onCompleted: {
     Noo.mainScore = score
     checkSingleMode()
-    SOUND.init()
   }
 
   function checkSingleMode() {