diff --git a/ring-android/app/src/main/java/cx/ring/model/Conference.java b/ring-android/app/src/main/java/cx/ring/model/Conference.java
index 26f90f6a5b9247c4f8a8d6e85924a69cd1dd3a7b..9cbff39ad96bec710566ff158943212660817a27 100644
--- a/ring-android/app/src/main/java/cx/ring/model/Conference.java
+++ b/ring-android/app/src/main/java/cx/ring/model/Conference.java
@@ -251,6 +251,12 @@ public class Conference {
         messages.add(sipMessage);
     }
 
+    public Intent getViewIntent(Context ctx)
+    {
+        final Uri conf_uri = Uri.withAppendedPath(CONTENT_URI, getId());
+        return new Intent(Intent.ACTION_VIEW).setData(conf_uri).setClass(ctx, CallActivity.class);
+    }
+
     public void showCallNotification(Context ctx)
     {
         NotificationManagerCompat notificationManager = NotificationManagerCompat.from(ctx);
@@ -260,11 +266,9 @@ public class Conference {
             return;
         SipCall call = getParticipants().get(0);
         CallContact contact = call.getContact();
-        final Uri conf_uri = Uri.withAppendedPath(CONTENT_URI, getId());
         final Uri call_uri = Uri.withAppendedPath(SipCall.CONTENT_URI, call.getCallId());
         PendingIntent goto_intent = PendingIntent.getActivity(ctx, new Random().nextInt(),
-                new Intent(Intent.ACTION_VIEW).setData(conf_uri).setClass(ctx, CallActivity.class),
-                PendingIntent.FLAG_ONE_SHOT);
+                getViewIntent(ctx), PendingIntent.FLAG_ONE_SHOT);
 
         NotificationCompat.Builder noti = new NotificationCompat.Builder(ctx);
         if (isOnGoing()) {
diff --git a/ring-android/app/src/main/java/cx/ring/service/LocalService.java b/ring-android/app/src/main/java/cx/ring/service/LocalService.java
index d637db222846569fa8d00cebf7f5369d572ea401..81361ed8641c6ad8495c2a52382b6c4888fa4252 100644
--- a/ring-android/app/src/main/java/cx/ring/service/LocalService.java
+++ b/ring-android/app/src/main/java/cx/ring/service/LocalService.java
@@ -1140,6 +1140,9 @@ public class LocalService extends Service implements SharedPreferences.OnSharedP
                         e.printStackTrace();
                     }
                     updateAudioState();
+                    Conference conf = getConference(call_id);
+                    if (!conf.mVisible)
+                        startActivity(conf.getViewIntent(LocalService.this).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
                     break;
                 }
                 case ACTION_CALL_REFUSE: {