diff --git a/src/Application.vala b/src/Application.vala
index 4a24fd49..a1fff476 100644
--- a/src/Application.vala
+++ b/src/Application.vala
@@ -108,7 +108,7 @@ public class Application {
      *
      * The most likely scenario for this to be fired is if the user
      * either tried to run us twice in library mode, or we've just gotten
-     * a camera/removeable-storage mount; in either case, the remote instance
+     * a camera/removable-storage mount; in either case, the remote instance
      * will trigger this and exit, and we'll need to bring the window back up...
      */
     public static void on_activated() {
diff --git a/src/BatchImport.vala b/src/BatchImport.vala
index 4a46a263..3febf08a 100644
--- a/src/BatchImport.vala
+++ b/src/BatchImport.vala
@@ -271,7 +271,7 @@ public class BatchImportRoll {
 
 // A BatchImportResult associates a particular job with a File that an import was performed on
 // and the import result.  A BatchImportJob can specify multiple files, so there is not necessarily
-// a one-to-one relationship beteen it and this object.
+// a one-to-one relationship between it and this object.
 //
 // Note that job may be null (in the case of a pre-failed job that must be reported) and file may
 // be null (for similar reasons).
diff --git a/src/CheckerboardLayout.vala b/src/CheckerboardLayout.vala
index f2acc307..5a672f3e 100644
--- a/src/CheckerboardLayout.vala
+++ b/src/CheckerboardLayout.vala
@@ -336,7 +336,7 @@ public abstract class CheckerboardItem : ThumbnailView {
         this.is_cursor = is_cursor;
     }
 
-    public bool get_is_cusor() {
+    public bool get_is_cursor() {
         return is_cursor;
     }
     
diff --git a/src/CollectionPage.vala b/src/CollectionPage.vala
index 3be532c7..df39f647 100644
--- a/src/CollectionPage.vala
+++ b/src/CollectionPage.vala
@@ -319,7 +319,7 @@ public abstract class CollectionPage : MediaPage {
     }
     
     // see #2020
-    // double clcik = switch to photo page
+    // double click = switch to photo page
     // Super + double click = open in external editor
     // Enter = switch to PhotoPage
     // Ctrl + Enter = open in external editor (handled with accelerators)
diff --git a/src/Commands.vala b/src/Commands.vala
index 73e6c8d6..75164c57 100644
--- a/src/Commands.vala
+++ b/src/Commands.vala
@@ -2269,7 +2269,7 @@ public class TagUntagPhotosCommand : SimpleProxyableCommand {
     private void do_detach(Tag tag) {
         if (attached_to == null) {
             // detaching a MediaSource from a Tag may result in the MediaSource being detached from
-            // many tags (due to heirarchical tagging), so save the MediaSources for each detached
+            // many tags (due to hierarchical tagging), so save the MediaSources for each detached
             // Tag for reversing the process
             detached_from = tag.detach_many(sources);
             
diff --git a/src/Dialogs.vala b/src/Dialogs.vala
index ef26b0ec..d2f2cb01 100644
--- a/src/Dialogs.vala
+++ b/src/Dialogs.vala
@@ -2668,7 +2668,7 @@ public class PreferencesDialog {
     
     private bool map_event() {
         // Set the signal for the lib dir button after the dialog is displayed, 
-        // because the FileChooserButton has a nasty habbit of selecting a
+        // because the FileChooserButton has a nasty habit of selecting a
         // different folder when displayed if the provided path doesn't exist.
         // See ticket #3000 for more info.
         library_dir_button.current_folder_changed.connect(on_current_folder_changed);
diff --git a/src/Dimensions.vala b/src/Dimensions.vala
index b5556da1..7c9eed66 100644
--- a/src/Dimensions.vala
+++ b/src/Dimensions.vala
@@ -199,7 +199,7 @@ public struct Dimensions {
         return scaled_rect;
     }
     
-    // Returns the current dimensions scaled in a similar proportion as the two suppled dimensions
+    // Returns the current dimensions scaled in a similar proportion as the two supplied dimensions
     public Dimensions get_scaled_similar(Dimensions original, Dimensions scaled) {
         double x_scale, y_scale;
         original.get_scale_ratios(scaled, out x_scale, out y_scale);
diff --git a/src/Photo.vala b/src/Photo.vala
index 11dbae63..222896f2 100644
--- a/src/Photo.vala
+++ b/src/Photo.vala
@@ -2212,7 +2212,7 @@ public abstract class Photo : PhotoSource, Dateable {
         }
         
         // Note: *Not* firing altered or metadata_altered signal because link_state is not a
-        // property that's available to users of Photo.  Persisting it as a mechanism for deaing 
+        // property that's available to users of Photo.  Persisting it as a mechanism for dealing
         // with unlink/relink properly.
     }
 
diff --git a/src/PhotoPage.vala b/src/PhotoPage.vala
index 5c8537ff..962c80e3 100644
--- a/src/PhotoPage.vala
+++ b/src/PhotoPage.vala
@@ -2582,7 +2582,7 @@ public class LibraryPhotoPage : EditingHostPage {
     }
     
     // Displays a photo from a specific CollectionPage.  When the user exits this view,
-    // they will be sent back to the return_page. The optional view paramters is for using
+    // they will be sent back to the return_page. The optional view parameters is for using
     // a ViewCollection other than the one inside return_page; this is necessary if the 
     // view and return_page have different filters.
     public void display_for_collection(CollectionPage return_page, Photo photo, 
diff --git a/src/Printing.vala b/src/Printing.vala
index f099ed20..d5a84e5b 100644
--- a/src/Printing.vala
+++ b/src/Printing.vala
@@ -164,7 +164,7 @@ public class PrintSettings {
 
 /* we define our own measurement enum instead of using the Gtk.Unit enum
    provided by Gtk+ 2.0 because Gtk.Unit doesn't define a CENTIMETERS
-   constant (thout it does define an MM for millimeters). This is
+   constant (though it does define an MM for millimeters). This is
    unfortunate, because in metric countries people like to think about
    paper sizes for printing in CM not MM. so, to avoid having to
    multiply and divide everything by 10 (which is error prone) to convert
diff --git a/src/Tombstone.vala b/src/Tombstone.vala
index 33649d03..23cd9845 100644
--- a/src/Tombstone.vala
+++ b/src/Tombstone.vala
@@ -121,7 +121,7 @@ public class TombstoneSourceCollection : DatabaseSourceCollection {
                 info = monitor.get_file_info(file);
             
             // Want to be conservative here; only resurrect a tombstone if file is actually detected
-            // as not present, and not some other problem (which may be intermittant)
+            // as not present, and not some other problem (which may be intermittent)
             if (info == null) {
                 try {
                     info = yield file.query_info_async(FileAttribute.STANDARD_NAME,
diff --git a/src/Upgrades.vala b/src/Upgrades.vala
index d60d1951..85349aeb 100644
--- a/src/Upgrades.vala
+++ b/src/Upgrades.vala
@@ -51,7 +51,7 @@ public class Upgrades {
 // When creating a new upgrade task, you MUST add it to the constructor
 // supplied in Upgrades (see above.)
 private interface UpgradeTask : Object{
-    // Returns the number of steps involved in the ugprade.
+    // Returns the number of steps involved in the upgrade.
     public abstract uint64 get_step_count();
     
     // Performs the upgrade.  Note that when using the progress
@@ -62,7 +62,7 @@ private interface UpgradeTask : Object{
 
 // Deletes the mimics folder, if it still exists.
 // Note: for the step count to be consistent, files cannot be written
-// to the mimcs folder for the durration of this task.
+// to the mimcs folder for the duration of this task.
 private class MimicsRemovalTask : Object, UpgradeTask {
     // Mimics folder (to be deleted, if present)
     private File mimic_dir = AppDirs.get_data_dir().get_child("mimics");
diff --git a/src/camera/GPhoto.vala b/src/camera/GPhoto.vala
index b16e32b2..3616cb2a 100644
--- a/src/camera/GPhoto.vala
+++ b/src/camera/GPhoto.vala
@@ -115,7 +115,7 @@ namespace GPhoto {
         return true;
     }
 
-    // Libgphoto will in some instances refuse to get metadata from a camera, but the camera is accessable as a
+    // Libgphoto will in some instances refuse to get metadata from a camera, but the camera is accessible as a
     // filesystem.  In these cases shotwell can access the file directly. See:
     // http://redmine.yorba.org/issues/2959
     public PhotoMetadata? get_fallback_metadata(Camera camera, Context context, string folder, string filename) {
diff --git a/src/core/SourceInterfaces.vala b/src/core/SourceInterfaces.vala
index b1d1aa64..91a8acad 100644
--- a/src/core/SourceInterfaces.vala
+++ b/src/core/SourceInterfaces.vala
@@ -5,7 +5,7 @@
  */
 
 // See the note in MediaInterfaces.vala for some thoughts on the theory of expanding Shotwell's
-// features via interfaces rather than class heirarchies.
+// features via interfaces rather than class hierarchies.
 
 // Indexable DataSources provide raw strings that may be searched against (and, in the future,
 // indexed) for free-text search queries.  DataSources implementing Indexable must prepare and
diff --git a/src/photos/PhotoMetadata.vala b/src/photos/PhotoMetadata.vala
index 814ea6bb..7764415d 100644
--- a/src/photos/PhotoMetadata.vala
+++ b/src/photos/PhotoMetadata.vala
@@ -7,7 +7,7 @@
 //
 // PhotoMetadata
 //
-// PhotoMetadata is a wrapper class around gexiv2.  The reasoning for this is (a) to facilitiate
+// PhotoMetadata is a wrapper class around gexiv2.  The reasoning for this is (a) to facilitate
 // interface changes to meet Shotwell's requirements without needing modifications of the library
 // itself, and (b) some requirements for this class (i.e. obtaining raw metadata) is not available
 // in gexiv2, and so must be done by hand.
