diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index 95bb979b..c8943667 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -131,10 +131,21 @@ class ApplicationController < ActionController::Base
   end
 
   def set_user_domain
-    @user_domain = if Rails.env.test? || !Rails.configuration.loadbalanced_configuration
-      "greenlight"
+    if Rails.env.test? || !Rails.configuration.loadbalanced_configuration
+      @user_domain = "greenlight"
     else
-      parse_user_domain(request.host)
+      @user_domain = parse_user_domain(request.host)
+
+      # Checks to see if the user exists
+      begin
+        retrieve_provider_info(@user_domain, 'api2', 'getUserGreenlightCredentials')
+      rescue => e
+        if e.message.eql? "No user with that id exists"
+          render "errors/not_found", locals: { user_not_found: true }
+        else
+          render "errors/internal_error"
+        end
+      end
     end
   end
   helper_method :set_user_domain
diff --git a/app/views/errors/not_found.html.erb b/app/views/errors/not_found.html.erb
index 647e34c8..95bdcbbb 100644
--- a/app/views/errors/not_found.html.erb
+++ b/app/views/errors/not_found.html.erb
@@ -15,9 +15,14 @@
 
 
   404
-  
<%= t("errors.not_found.message") %>
-  
<%= t("errors.not_found.help") %>
-  
-    <%= t("go_back") %>
-  
+  <% if defined?(user_not_found) %>
+    
<%= t("errors.not_found.user_message") %>
+    
<%= t("errors.not_found.user_help") %>
+  <% else %>
+    
<%= t("errors.not_found.message") %>
+    
<%= t("errors.not_found.help") %>
+    
+      <%= t("go_back") %>
+    
+  <% end %>
 
 
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 1e444d3c..375f164c 100755
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -140,6 +140,8 @@ en:
     not_found:
       message: Whoops! Looks like we can't find that.
       help: Is it possible its been removed?
+      user_message: User Not Found.
+      user_help: Sorry, this user is not registered.
     title: Errors
     unauthorized:
       message: You do not have access to this application
diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb
index 0d5e9550..14bf1f65 100644
--- a/spec/controllers/application_controller_spec.rb
+++ b/spec/controllers/application_controller_spec.rb
@@ -31,6 +31,10 @@ describe ApplicationController do
     def error
       raise BigBlueButton::BigBlueButtonException
     end
+
+    def user_not_found
+      set_user_domain
+    end
   end
 
   context "roles" do
@@ -66,5 +70,29 @@ describe ApplicationController do
       get :error
       expect(response).to render_template("errors/bigbluebutton_error")
     end
+
+    it "renders a 404 error if user is not found" do
+      allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
+      allow(Rails.env).to receive(:test?).and_return(false)
+      allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("")
+      allow_any_instance_of(BbbApi).to receive(:retrieve_provider_info).and_raise("No user with that id exists")
+
+      routes.draw { get "user_not_found" => "anonymous#user_not_found" }
+
+      get :user_not_found
+      expect(response).to render_template("errors/not_found")
+    end
+
+    it "renders a 500 error if any other error is not found" do
+      allow(Rails.configuration).to receive(:loadbalanced_configuration).and_return(true)
+      allow(Rails.env).to receive(:test?).and_return(false)
+      allow_any_instance_of(SessionsHelper).to receive(:parse_user_domain).and_return("")
+      allow_any_instance_of(BbbApi).to receive(:retrieve_provider_info).and_raise("Other error")
+
+      routes.draw { get "user_not_found" => "anonymous#user_not_found" }
+
+      get :user_not_found
+      expect(response).to render_template("errors/internal_error")
+    end
   end
 end