diff --git a/howto/gitlab.md b/howto/gitlab.md
index 7dd64810c2f0a07dfddb9d22a7573b47d54ec140..0a092d5ad7639d5948918c0275230abea0ad7b93 100644
--- a/howto/gitlab.md
+++ b/howto/gitlab.md
@@ -341,7 +341,7 @@ which looks something like:
 The second directory (`7dca7746b5576f6c6ec34bb62200ba3a` above) is the
 one visible in the attachment URL. The last part is the actual
 attachment filename, but since those can overlap between issues, it's
-safer to look for the hash. So to find the above attachement, you
+safer to look for the hash. So to find the above attachment, you
 should use:
 
     find /var/opt/gitlab/gitlab-rails/uploads/ -name 7dca7746b5576f6c6ec34bb62200ba3a
@@ -1429,7 +1429,7 @@ different components:
 
 If you want to do batch operations or integrations with GitLab, you
 might want to use one of those tools, depending on your environment or
-prefered programming language:
+preferred programming language:
 
  * [bugwarrior](https://github.com/ralphbean/bugwarrior) ([Debian](https://tracker.debian.org/pkg/bugwarrior)) - support for GitLab, GitHub and
    other bugtrackers for the [taskwarrior](http://taskwarrior.org/) database
@@ -1453,13 +1453,13 @@ is interesting as well.
 
 ### Migration tools
 
-ahf implemente the gitlab using his own home-made tools that talk to
+ahf implemented the gitlab using his own home-made tools that talk to
 the GitLab and Trac API. but there's also [tracboat](https://github.com/tracboat/tracboat) which is
 designed to migrate from trac to GitLab.
 
 We did not use Tracboat because it uses gitlab's DB directly and thus
 only works with some very specific version. Each time the database
-schema changes at GitLab, Tracboat needs to port to it. We prefered to
+schema changes at GitLab, Tracboat needs to port to it. We preferred to
 use something that talked with the GitLab API.
 
 We also didn't like the output entirely, so we modified it but still