diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java
index 0c004ae..d11aba6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBarService.java
@@ -281,6 +281,8 @@
     }
 
     public void refreshNotificationTrigger() {
+        if (mNotificationTrigger == null) return;
+
         int resId;
         boolean panel = (mNotificationPanel != null 
                 && mNotificationPanel.getVisibility() == View.VISIBLE);
@@ -620,9 +622,7 @@
 
     void onClickDoNotDisturb() {
         mNotificationsOn = !mNotificationsOn;
-        setViewVisibility(mIconLayout,
-                mNotificationsOn ? View.VISIBLE : View.INVISIBLE,
-                mNotificationsOn ? R.anim.notification_dnd_off : R.anim.notification_dnd_on);
+        mIconLayout.setVisibility(mNotificationsOn ? View.VISIBLE : View.INVISIBLE); // TODO: animation
         animateCollapse();
         refreshNotificationTrigger();
     }
@@ -632,9 +632,7 @@
         if ((mDisabled & StatusBarManager.DISABLE_EXPAND) == 0) {
             if (!mNotificationsOn) {
                 mNotificationsOn = true;
-                setViewVisibility(mIconLayout,
-                        View.VISIBLE,
-                        R.anim.notification_dnd_off);
+                mIconLayout.setVisibility(View.VISIBLE); // TODO: animation
                 refreshNotificationTrigger();
             } else {
                 int msg = (mNotificationPanel.getVisibility() == View.GONE) 
