diff --git a/src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs b/src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs
index 0f0a7bd..f769aaa 100644
--- a/src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs
+++ b/src/Backends/Banshee.Hal/Banshee.HalBackend/Device.cs
@@ -53,7 +53,7 @@ namespace Banshee.HalBackend
         
         private string uuid;
         public virtual string Uuid {
-            get { return uuid ?? uuid = String.IsNullOrEmpty (HalDevice["usb.serial"]) ? device.Udi : HalDevice["usb.serial"]; }
+            get { if (uuid == null) uuid = String.IsNullOrEmpty (HalDevice["usb.serial"]) ? device.Udi : HalDevice["usb.serial"]; return uuid; }
         }
 
         private string name;
diff --git a/src/Clients/Nereid/Nereid/Client.cs b/src/Clients/Nereid/Nereid/Client.cs
index 3108ab5..1e18527 100644
--- a/src/Clients/Nereid/Nereid/Client.cs
+++ b/src/Clients/Nereid/Nereid/Client.cs
@@ -185,7 +185,10 @@ namespace Nereid
                     case "help-playback": Console.WriteLine (commands.ToString ("playback")); break;
                     default:
                         if (argument.Key.StartsWith ("help")) {
-                            (errors ?? errors = new List<string> ()).Add (argument.Key);
+                            if (errors != null) {
+                                errors = new List<string> ();
+                                errors.Add (argument.Key);
+                            }
                         }
                         break;
                 }
diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs
index 85829a0..20ed1cf 100644
--- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseFilterListModel.cs
@@ -121,7 +121,7 @@ namespace Banshee.Collection.Database
             
             ModelHelper.BuildIdFilter<object> (GetSelectedObjects (), FilterColumn, null,
                 delegate (object item) {
-                    if (item != select_all_item) {
+                    if (!select_all_item.Equals (item)) {
                         return ItemToFilterValue (item);
                     }
                     return null;
diff --git a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs
index c0f2d31..538ee7c 100644
--- a/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection.Database/DatabaseTrackListModel.cs
@@ -176,12 +176,15 @@ namespace Banshee.Collection.Database
         private string unfiltered_query;
         protected string UnfilteredQuery {
             get {
-                return unfiltered_query ?? unfiltered_query = String.Format (
+                if (unfiltered_query != null)
+                    return unfiltered_query;
+                unfiltered_query = String.Format (
                     "FROM {0}{1} WHERE {2} {3}",
                     provider.From, JoinFragment,
                     String.IsNullOrEmpty (provider.Where) ? "1=1" : provider.Where,
                     ConditionFragment
                 );
+                return unfiltered_query;
             }
         }
 
diff --git a/src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs b/src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs
index 50e87b9..61ceb2e 100644
--- a/src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs
+++ b/src/Core/Banshee.Services/Banshee.Collection/BansheeListModel.cs
@@ -90,7 +90,10 @@ namespace Banshee.Collection
         protected ModelSelection<T> model_selection;
         public virtual ModelSelection<T> SelectedItems {
             get {
-                return model_selection ?? model_selection = new ModelSelection<T> (this, Selection);
+                if (model_selection == null) {
+                    model_selection = new ModelSelection<T> (this, Selection);
+                }
+                return model_selection;
             }
         }
         
diff --git a/src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs b/src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs
index 1e3154e..65cd9c6 100644
--- a/src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs
+++ b/src/Core/Banshee.Services/Banshee.Playlist/AbstractPlaylistSource.cs
@@ -101,24 +101,28 @@ namespace Banshee.Playlist
         private HyenaSqliteCommand count_updated_command;
         protected HyenaSqliteCommand CountUpdatedCommand {
             get {
-                return count_updated_command ??
+                if (count_updated_command == null) {
                     count_updated_command = new HyenaSqliteCommand (String.Format (
                         @"SELECT COUNT(*) FROM {0} WHERE {1} = {2} AND TrackID IN (
                             SELECT TrackID FROM CoreTracks WHERE DateUpdatedStamp > ?)",
                         TrackJoinTable, SourcePrimaryKey, dbid
                     ));
+                }
+                return count_updated_command;
             }
         }
 
         private HyenaSqliteCommand count_removed_command;
         protected HyenaSqliteCommand CountRemovedCommand {
             get {
-                return count_removed_command ??
+                if (count_removed_command == null) {
                     count_removed_command = new HyenaSqliteCommand (String.Format (
                         @"SELECT COUNT(*) FROM {0} WHERE {1} = {2} AND TrackID IN (
                             SELECT TrackID FROM CoreRemovedTracks WHERE DateRemovedStamp > ?)",
                         TrackJoinTable, SourcePrimaryKey, dbid
                     ));
+                }
+                return count_removed_command;
             }
         }
 
diff --git a/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs b/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
index c4b8db5..95f3250 100644
--- a/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
+++ b/src/Core/Banshee.Services/Banshee.Sources/DatabaseSource.cs
@@ -86,7 +86,10 @@ namespace Banshee.Sources
 
         protected DatabaseTrackListModel DatabaseTrackModel {
             get {
-                return track_model ?? track_model = new DatabaseTrackListModel (ServiceManager.DbConnection, TrackProvider, this);
+                if (track_model != null)
+                    return track_model;
+                track_model = new DatabaseTrackListModel (ServiceManager.DbConnection, TrackProvider, this);
+                return track_model;
             }
             set { track_model = value; }
         }
@@ -94,8 +97,11 @@ namespace Banshee.Sources
         private IDatabaseTrackModelCache track_cache;
         protected IDatabaseTrackModelCache TrackCache {
             get {
-                return track_cache ?? track_cache = new DatabaseTrackModelCache<DatabaseTrackInfo> (
+                if (track_cache != null)
+                    return track_cache;
+                track_cache = new DatabaseTrackModelCache<DatabaseTrackInfo> (
                     ServiceManager.DbConnection, UniqueId, DatabaseTrackModel, TrackProvider);
+                return track_cache;
             }
             set { track_cache = value; }
         }
@@ -509,7 +515,9 @@ namespace Banshee.Sources
         protected HyenaSqliteCommand prune_command;
         protected HyenaSqliteCommand PruneCommand {
             get {
-                return prune_command ?? prune_command = new HyenaSqliteCommand (String.Format (
+                if (prune_command != null)
+                    return prune_command;
+                prune_command = new HyenaSqliteCommand (String.Format (
                         @"DELETE FROM CoreCache WHERE ModelID = ? AND ItemID NOT IN (SELECT ArtistID FROM CoreTracks WHERE TrackID IN (SELECT {0}));
                           DELETE FROM CoreCache WHERE ModelID = ? AND ItemID NOT IN (SELECT AlbumID FROM CoreTracks WHERE TrackID IN (SELECT {0}));",
                         track_model.TrackIdsSql
@@ -517,6 +525,7 @@ namespace Banshee.Sources
                     artist_model.CacheId, artist_model.CacheId, 0, artist_model.Count,
                     album_model.CacheId, album_model.CacheId, 0, album_model.Count
                 );
+                return prune_command;
             }
         }
 
diff --git a/src/Core/Banshee.Services/Banshee.Sources/Source.cs b/src/Core/Banshee.Services/Banshee.Sources/Source.cs
index 00e2984..11053cc 100644
--- a/src/Core/Banshee.Services/Banshee.Sources/Source.cs
+++ b/src/Core/Banshee.Services/Banshee.Sources/Source.cs
@@ -444,7 +444,12 @@ namespace Banshee.Sources
         
         private string unique_id;
         public string UniqueId {
-            get { return unique_id ?? unique_id = String.Format ("{0}-{1}", this.GetType ().Name, TypeUniqueId); }
+            get {
+                if (unique_id != null)
+                    return unique_id;
+                unique_id = String.Format ("{0}-{1}", this.GetType ().Name, TypeUniqueId);
+                return unique_id;
+            }
         }
         
         protected abstract string TypeUniqueId { get; }
diff --git a/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs b/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs
index fad415f..5dea862 100644
--- a/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs
+++ b/src/Core/Banshee.ThickClient/Banshee.Sources.Gui/SourceView.cs
@@ -438,9 +438,11 @@ namespace Banshee.Sources.Gui
         
         internal Source NewPlaylistSource {
             get {
-                return new_playlist_source ??
+                if (new_playlist_source == null) {
                     new_playlist_source = new PlaylistSource (Catalog.GetString ("New Playlist"), 
                         ServiceManager.SourceManager.MusicLibrary.DbId);
+                }
+                return new_playlist_source;
             }
         }
 
diff --git a/src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDevice.cs b/src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDevice.cs
index 199d8f7..e74a1b6 100644
--- a/src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDevice.cs
+++ b/src/Dap/Banshee.Dap.Ipod/Banshee.Dap.Ipod/PodSleuthDevice.cs
@@ -204,7 +204,9 @@ namespace Banshee.Dap.Ipod
                 int size;
                 PixelFormat pformat;
 
-                correlationId = width = height = rotation = size = 0;
+                correlationId = width = height = rotation = 0;
+                size = 0;
+
                 usage = ArtworkUsage.Unknown;
                 pformat = PixelFormat.Unknown;
 
diff --git a/src/Libraries/Migo/Migo.Syndication/FeedEnclosure.cs b/src/Libraries/Migo/Migo.Syndication/FeedEnclosure.cs
index 49efab7..148ad64 100644
--- a/src/Libraries/Migo/Migo.Syndication/FeedEnclosure.cs
+++ b/src/Libraries/Migo/Migo.Syndication/FeedEnclosure.cs
@@ -71,7 +71,12 @@ namespace Migo.Syndication
 #region Public Properties
 
         public FeedItem Item { 
-            get { return item ?? item = FeedItem.Provider.FetchSingle (item_id); } 
+            get { 
+                if (item != null)
+                    return item;
+                item = FeedItem.Provider.FetchSingle (item_id);
+                return item;
+            } 
             internal set {
                 item = value;
                 if (item != null && item.DbId > 0) {
diff --git a/src/Libraries/Migo/Migo.Syndication/MigoModelProvider.cs b/src/Libraries/Migo/Migo.Syndication/MigoModelProvider.cs
index 96eb496..296803f 100644
--- a/src/Libraries/Migo/Migo.Syndication/MigoModelProvider.cs
+++ b/src/Libraries/Migo/Migo.Syndication/MigoModelProvider.cs
@@ -37,7 +37,7 @@ namespace Migo.Syndication
 {
     // Caches all results retrieved from the database, such that any subsequent retrieval will
     // return the same instance.
-    public class MigoModelProvider<T> : SqliteModelProvider<T> where T : ICacheableItem, MigoItem<T>, new()
+    public class MigoModelProvider<T> : SqliteModelProvider<T> where T : MigoItem<T>, ICacheableItem, new()
     {
         private Dictionary<long, T> full_cache = new Dictionary<long, T> ();
         
@@ -103,4 +103,4 @@ namespace Migo.Syndication
 #endregion
         
     }
-}
\ No newline at end of file
+}
diff --git a/src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs b/src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs
index 9b72086..05278d0 100644
--- a/src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs
+++ b/src/Libraries/MusicBrainz/MusicBrainz/LocalDisc.cs
@@ -99,7 +99,12 @@ namespace MusicBrainz
         
         string submission_url;
         public string SubmissionUrl {
-            get { return submission_url ?? submission_url = BuildSubmissionUrl (); }
+            get {
+                if (submission_url != null)
+                    return submission_url;
+                submission_url = BuildSubmissionUrl ();
+                return submission_url;
+            }
         }
         
         string BuildSubmissionUrl ()
