diff --git a/src/commoncomponents/SpinningAnimation.qml b/src/commoncomponents/SpinningAnimation.qml
index 837924eda4bb3048d7af60730829a86b32187a55..444512c9a2988a20e1420959ba5cee66f98671d3 100644
--- a/src/commoncomponents/SpinningAnimation.qml
+++ b/src/commoncomponents/SpinningAnimation.qml
@@ -34,12 +34,13 @@ Item {
     property real outerCutRadius: root.height / 2
     property int spinningAnimationDuration: 1000
 
+    visible: mode !== SpinningAnimation.Mode.Disabled
+
     ConicalGradient {
         id: conicalGradientOne
 
         anchors.fill: parent
 
-        visible: mode !== SpinningAnimation.Mode.Disabled
         angle: 0.0
         gradient: Gradient {
             GradientStop { position: 0.5; color: "transparent" }
diff --git a/src/commoncomponents/TypingDots.qml b/src/commoncomponents/TypingDots.qml
index 8cfa94b38f7874c09796392677c1d7d3d48776d0..d42d5582bd34afd2607198d40a779c80e80fa8b5 100644
--- a/src/commoncomponents/TypingDots.qml
+++ b/src/commoncomponents/TypingDots.qml
@@ -31,7 +31,7 @@ Row {
 
     Timer {
         repeat: true
-        running: true
+        running: root.visible
         interval: JamiTheme.typingDotsAnimationInterval
 
         onTriggered: {
diff --git a/src/mainview/components/MessageBarTextArea.qml b/src/mainview/components/MessageBarTextArea.qml
index 2020260cafa078eaa5e76d681e7f2a82dd561687..73ab909b1aa2bce204224c29a8578b382e21540f 100644
--- a/src/mainview/components/MessageBarTextArea.qml
+++ b/src/mainview/components/MessageBarTextArea.qml
@@ -87,7 +87,7 @@ JamiFlickable {
 
             SequentialAnimation on opacity {
                 loops: Animation.Infinite
-                running: visible
+                running: textArea.cursorVisible
 
                 NumberAnimation {
                     from: 1