diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp
index 9004fe986f7497355f9a3f37e271d57b435ef335..a4dfda8b47d2a930e9c3b9882c13f82ab03b92d6 100644
--- a/daemon/src/sip/sipvoiplink.cpp
+++ b/daemon/src/sip/sipvoiplink.cpp
@@ -963,6 +963,9 @@ SIPVoIPLink::onhold(const std::string& id)
     call->setState(Call::HOLD);
     call->getAudioRtp().saveLocalContext();
     call->getAudioRtp().stop();
+#ifdef SFL_VIDEO
+    call->getVideoRtp().stop();
+#endif
 
     Sdp *sdpSession = call->getLocalSDP();
 
@@ -975,8 +978,8 @@ SIPVoIPLink::onhold(const std::string& id)
 
 #ifdef SFL_VIDEO
     sdpSession->removeAttributeFromLocalVideoMedia("sendrecv");
-    sdpSession->removeAttributeFromLocalVideoMedia("sendonly");
-    sdpSession->addAttributeToLocalVideoMedia("sendonly");
+    sdpSession->removeAttributeFromLocalVideoMedia("inactive");
+    sdpSession->addAttributeToLocalVideoMedia("inactive");
 #endif
 
     SIPSessionReinvite(call);
diff --git a/gnome/src/video/video_renderer.c b/gnome/src/video/video_renderer.c
index c53518443248ad048699d505509b4715a4af5b8b..e06b7585cdabe4dcd01e289fde22de9184f61f73 100644
--- a/gnome/src/video/video_renderer.c
+++ b/gnome/src/video/video_renderer.c
@@ -334,11 +334,10 @@ render_frame_from_shm(VideoRendererPrivate *priv)
     if (!GTK_IS_WIDGET(priv->drawarea))
         return FALSE;
     GtkWidget *parent = gtk_widget_get_parent(priv->drawarea);
-    if (!parent)
+    if (!parent || !CLUTTER_IS_ACTOR(priv->texture))
         return FALSE;
     const gint parent_width = gtk_widget_get_allocated_width(parent);
     const gint parent_height = gtk_widget_get_allocated_height(parent);
-
     clutter_actor_set_size(priv->texture, parent_width, parent_height);
     video_renderer_render_to_texture(priv);