diff --git a/src/com/android/music/AlbumBrowserActivity.java b/src/com/android/music/AlbumBrowserActivity.java
index 4a2b6e6..fa6eeb4 100644
--- a/src/com/android/music/AlbumBrowserActivity.java
+++ b/src/com/android/music/AlbumBrowserActivity.java
@@ -666,12 +666,10 @@
     private Cursor mAlbumCursor;
     private String mArtistId;
 
-    @Override
     public void onServiceConnected(ComponentName name, IBinder service) {
         MusicUtils.updateNowPlaying(this);
     }
 
-    @Override
     public void onServiceDisconnected(ComponentName name) {
         finish();
     }
diff --git a/src/com/android/music/ArtistAlbumBrowserActivity.java b/src/com/android/music/ArtistAlbumBrowserActivity.java
index e4fd5c2..cc793df 100644
--- a/src/com/android/music/ArtistAlbumBrowserActivity.java
+++ b/src/com/android/music/ArtistAlbumBrowserActivity.java
@@ -853,12 +853,10 @@
     
     private Cursor mArtistCursor;
 
-    @Override
     public void onServiceConnected(ComponentName name, IBinder service) {
         MusicUtils.updateNowPlaying(this);
     }
 
-    @Override
     public void onServiceDisconnected(ComponentName name) {
         finish();
     }
diff --git a/src/com/android/music/MusicUtils.java b/src/com/android/music/MusicUtils.java
index 67597eb..1acadea 100644
--- a/src/com/android/music/MusicUtils.java
+++ b/src/com/android/music/MusicUtils.java
@@ -1075,7 +1075,6 @@
             }
             v.setOnFocusChangeListener(new View.OnFocusChangeListener() {
 
-                @Override
                 public void onFocusChange(View v, boolean hasFocus) {
                     if (hasFocus) {
                         for (int i = 0; i < ll.getTabCount(); i++) {
@@ -1090,7 +1089,6 @@
             
             v.setOnClickListener(new View.OnClickListener() {
 
-                @Override
                 public void onClick(View v) {
                     processTabClick((Activity)ll.getContext(), v, ll.getChildAt(sActiveTabIndex).getId());
                     
@@ -1163,7 +1161,6 @@
                 nowPlayingView.setVisibility(View.VISIBLE);
                 nowPlayingView.setOnClickListener(new View.OnClickListener() {
 
-                    @Override
                     public void onClick(View v) {
                         Context c = v.getContext();
                         c.startActivity(new Intent(c, MediaPlaybackActivity.class));
