diff --git a/Changelog.md b/Changelog.md
index d4ed93ea39938be70573554cfbc12966f65ae73f..265d9581b1471f2a7fa31feb39d8f84817d4c9bd 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -36,6 +36,7 @@ If so, please delete it since it will prevent the federation from working proper
 * Render mentions as links in comments [#7327](https://github.com/diaspora/diaspora/pull/7327)
 * Add support for mentions in comments to the front-end [#7386](https://github.com/diaspora/diaspora/pull/7386)
 * Support direct links to comments on mobile [#7508](https://github.com/diaspora/diaspora/pull/7508)
+* Add inviter first and last name in the invitation e-mail [#7484](https://github.com/diaspora/diaspora/pull/7484)
 
 # 0.6.8.0
 
diff --git a/app/mailers/notifier.rb b/app/mailers/notifier.rb
index 69fdfe11bf405b33231fad5b82f6d7b0b8661ddc..d58a58761ce31d4b9193e103be382ecf59254b55 100644
--- a/app/mailers/notifier.rb
+++ b/app/mailers/notifier.rb
@@ -44,9 +44,9 @@ class Notifier < ActionMailer::Base
     @invitation_code = invitation_code
 
     I18n.with_locale(locale) do
-      mail_opts = {:to => email, :from => AppConfig.mail.sender_address,
-                 :subject => I18n.t('notifier.invited_you', :name => @inviter.name),
-                 :host => AppConfig.pod_uri.host}
+      mail_opts = {to: email, from: "\"#{AppConfig.settings.pod_name}\" <#{AppConfig.mail.sender_address}>",
+                 subject: I18n.t("notifier.invited_you", name: @inviter.name),
+                 host: AppConfig.pod_uri.host}
 
       mail(mail_opts) do |format|
         format.text { render :layout => nil }
diff --git a/app/models/person.rb b/app/models/person.rb
index 13be8ec8b1c3aab5a204b909d6375f719aecd9c6..d76cfcb927a10c5fcc1a64ef5f334a38cee9a700 100644
--- a/app/models/person.rb
+++ b/app/models/person.rb
@@ -22,7 +22,7 @@ class Person < ActiveRecord::Base
   end
 
   has_one :profile, dependent: :destroy
-  delegate :last_name, :image_url, :tag_string, :bio, :location,
+  delegate :last_name, :full_name, :image_url, :tag_string, :bio, :location,
            :gender, :birthday, :formatted_birthday, :tags, :searchable,
            :public_details?, to: :profile
   accepts_nested_attributes_for :profile
diff --git a/app/models/user.rb b/app/models/user.rb
index 940a48f254283510805f01158288b4302492797b..2061efc9b9ef0ab5504d53a5f3d9506b41223162 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -46,7 +46,7 @@ class User < ActiveRecord::Base
 
   delegate :guid, :public_key, :posts, :photos, :owns?, :image_url,
            :diaspora_handle, :name, :atom_url, :profile_url, :profile, :url,
-           :first_name, :last_name, :gender, :participations, to: :person
+           :first_name, :last_name, :full_name, :gender, :participations, to: :person
   delegate :id, :guid, to: :person, prefix: true
 
   has_many :aspects, -> { order('order_id ASC') }
diff --git a/app/views/notifier/invite.markerb b/app/views/notifier/invite.markerb
index 1e00c6c0a8ac851afb9e1b0f15c96451bdae7bbb..8c20a00c0685a0cffd1f3781aed0e0ac9b59cba0 100644
--- a/app/views/notifier/invite.markerb
+++ b/app/views/notifier/invite.markerb
@@ -1 +1,6 @@
-<%= t('.message', :invite_url => invite_code_url(@invitation_code), :diasporafoundation_url => 'https://diasporafoundation.org/', :diaspora_id => @inviter.try(:diaspora_handle)) %>
+<%= t('.message',
+  invite_url: invite_code_url(@invitation_code),
+  diasporafoundation_url: 'https://diasporafoundation.org/',
+  user: @inviter.try(:full_name).empty? ? @inviter.try(:diaspora_handle) : "#{@inviter.name} (#{@inviter.diaspora_handle})",
+  diaspora_id: @inviter.try(:diaspora_handle))
+%>
diff --git a/config/locales/diaspora/en.yml b/config/locales/diaspora/en.yml
index 931dfceda632175576f746ca869562fd35c3f66b..10f82eb236cc8c987e47372a98989fce1acf1742 100644
--- a/config/locales/diaspora/en.yml
+++ b/config/locales/diaspora/en.yml
@@ -807,7 +807,7 @@ en:
       message: |-
         Hello!
 
-        You have been invited to join diaspora* by %{diaspora_id}!
+        You have been invited to join diaspora* by %{user}!
 
         Click this link to get started
 
diff --git a/features/desktop/invitations.feature b/features/desktop/invitations.feature
index dd38873ccd29ad4342d44b70634d6d5a6103d825..eca4ef758aefacd65eff4778a2efe5090c060789 100644
--- a/features/desktop/invitations.feature
+++ b/features/desktop/invitations.feature
@@ -59,6 +59,7 @@ Feature: Invitations
     And I press "Send an invitation"
     Then I should see a flash message indicating success
     And I should have 1 Devise email delivery
+    And I should see "You have been invited to join diaspora* by Alice Smith" in the last sent email
     And I should not see "change your notification settings" in the last sent email
 
   Scenario: sends an invitation from the people search page
diff --git a/features/step_definitions/user_steps.rb b/features/step_definitions/user_steps.rb
index f01025a076de2da668eda0de0924b743bc57f902..7eb0e2b6eeec41ad7fe243096212b40b09cb9d3c 100644
--- a/features/step_definitions/user_steps.rb
+++ b/features/step_definitions/user_steps.rb
@@ -168,10 +168,14 @@ Then /^I should have (\d+) email delivery$/ do |n|
   ActionMailer::Base.deliveries.length.should == n.to_i
 end
 
-Then /^I should not see "([^\"]*)" in the last sent email$/ do |text|
+Then /^I should( not)? see "([^\"]*)" in the last sent email$/ do |negate, text|
   email_text = Devise.mailer.deliveries.first.body.to_s
   email_text = Devise.mailer.deliveries.first.html_part.body.raw_source if email_text.blank?
-  email_text.should_not match(text)
+  if negate
+    expect(email_text).to_not have_content(text)
+  else
+    expect(email_text).to have_content(text)
+  end
 end
 
 When /^"([^\"]+)" has posted a (public )?status message with a photo$/ do |email, public_status|
diff --git a/spec/mailers/notifier_spec.rb b/spec/mailers/notifier_spec.rb
index 6594f840889366ca9ae8578aacbd94073b153eb0..12ee1dd78691c18121a297047c5ef3b64fcb4867 100644
--- a/spec/mailers/notifier_spec.rb
+++ b/spec/mailers/notifier_spec.rb
@@ -501,6 +501,37 @@ describe Notifier, type: :mailer do
     end
   end
 
+  describe ".invite" do
+    let(:email) { Notifier.invite(alice.email, nil, bob, "1234", "en") }
+
+    it "goes to the right person" do
+      expect(email.to).to eq([alice.email])
+    end
+
+    it "FROM: header should be the pod name + default sender address" do
+      expect(email["From"].to_s).to eq("#{pod_name} <#{AppConfig.mail.sender_address}>")
+    end
+
+    it "has the correct subject" do
+      expect(email.subject).to eq(I18n.translate("notifier.invited_you", name: bob.name))
+    end
+
+    it "has the inviter name in the body" do
+      expect(email.body.encoded).to include("#{bob.name} (#{bob.diaspora_handle})")
+    end
+
+    it "has the inviter id if the name is nil" do
+      bob.person.profile.update_attributes(first_name: "", last_name: "")
+      mail = Notifier.invite(alice.email, nil, bob, "1234", "en")
+      expect(email.body.encoded).to_not include("#{bob.name} (#{bob.diaspora_handle})")
+      expect(mail.body.encoded).to include(bob.person.diaspora_handle)
+    end
+
+    it "has the invitation code in the body" do
+      expect(email.body.encoded).to include("/i/1234")
+    end
+  end
+
   describe ".csrf_token_fail" do
     let(:email) { Notifier.send_notification("csrf_token_fail", alice.id) }