diff --git a/app/controllers/commits_controller.rb b/app/controllers/commits_controller.rb
index fe46ddcefb7bc26777929512d14d95ec07864f7e..af82b1cd901d701c10b4e35eabe6cdf68af3f3e4 100644
--- a/app/controllers/commits_controller.rb
+++ b/app/controllers/commits_controller.rb
@@ -21,7 +21,6 @@ class CommitsController < ApplicationController
     respond_to do |format|
       format.html # index.html.erb
       format.js
-      format.json { render json: @commits }
     end
   end
 
@@ -33,7 +32,6 @@ class CommitsController < ApplicationController
     respond_to do |format|
       format.html # show.html.erb
       format.js
-      format.json { render json: @commit }
     end
   end
 end
diff --git a/app/controllers/keys_controller.rb b/app/controllers/keys_controller.rb
index 003de6b301a8afb7dafba44059d9cb7f91aa90c6..b2cf1c0888270f078bf03f96a575f67d6da3790f 100644
--- a/app/controllers/keys_controller.rb
+++ b/app/controllers/keys_controller.rb
@@ -3,11 +3,6 @@ class KeysController < ApplicationController
 
   def index
     @keys = current_user.keys.all
-
-    respond_to do |format|
-      format.html # index.html.erb
-      format.json { render json: @keys }
-    end
   end
 
   def new
@@ -32,7 +27,6 @@ class KeysController < ApplicationController
     respond_to do |format|
       format.html { redirect_to keys_url }
       format.js { render :nothing => true }  
-      format.json { head :ok }
     end
   end
 end
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 7dd6eefc31315b404c7c3415dd0e80ef44ee1b69..1cc2fd63faadbab0380eafa396c68d9d72f93bc0 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -8,10 +8,52 @@ class ProjectsController < ApplicationController
 
   def index
     @projects = current_user.projects.all
+  end
+
+  def new
+    @project = Project.new
+  end
+
+  def edit
+  end
+
+  def create
+    @project = Project.new(params[:project])
+    @project.owner = current_user
+
+    Project.transaction do 
+      @project.save!
+      @project.users_projects.create!(:admin => true, :read => true, :write => true, :user => current_user)
+    end
+
+    respond_to do |format|
+      if @project.valid?
+        format.html { redirect_to @project, notice: 'Project was successfully created.' }
+        format.js 
+      else
+        format.html { render action: "new" }
+        format.js
+      end
+    end
+  rescue Gitosis::AccessDenied
+    render :js => "location.href = '#{errors_gitosis_path}'" and return
+  rescue StandardError => ex
+    @project.errors.add(:base, "Cant save project. Please try again later")
+    respond_to do |format|
+      format.html { render action: "new" }
+      format.js
+    end
+  end
 
+  def update
     respond_to do |format|
-      format.html # index.html.erb
-      format.json { render json: @projects }
+      if project.update_attributes(params[:project])
+        format.html { redirect_to project, notice: 'Project was successfully updated.' }
+        format.js 
+      else
+        format.html { render action: "edit" }
+        format.js 
+      end
     end
   end
 
@@ -21,20 +63,27 @@ class ProjectsController < ApplicationController
     @tree = @commit.tree
     @tree = @tree / params[:path] if params[:path]
 
-    respond_to do |format|
-      format.html # show.html.erb
-      format.json { render json: project }
-    end
   rescue Grit::NoSuchPathError => ex
     respond_to do |format|
       format.html {render "projects/empty"}
     end
   end
 
-  def tree
-    load_refs # load @branch, @tag & @ref
+  #
+  # Wall
+  #
 
+  def wall
+    @notes = @project.common_notes
+    @note = Note.new
+  end
 
+  #
+  # Repository preview
+  #
+
+  def tree
+    load_refs # load @branch, @tag & @ref
 
     @repo = project.repo
 
@@ -74,77 +123,14 @@ class ProjectsController < ApplicationController
     return render_404
   end
 
-  def new
-    @project = Project.new
-
-    respond_to do |format|
-      format.html # new.html.erb
-      format.json { render json: @project }
-    end
-  end
-
-  def edit
-  end
-
-  def create
-    @project = Project.new(params[:project])
-    @project.owner = current_user
-
-    Project.transaction do 
-      @project.save!
-      @project.users_projects.create!(:admin => true, :read => true, :write => true, :user => current_user)
-    end
-
-    respond_to do |format|
-      if @project.valid?
-        format.html { redirect_to @project, notice: 'Project was successfully created.' }
-        format.js 
-        format.json { render json: @project, status: :created, location: @project }
-      else
-        format.html { render action: "new" }
-        format.js
-        format.json { render json: @project.errors, status: :unprocessable_entity }
-      end
-    end
-  rescue Gitosis::AccessDenied
-    render :js => "location.href = '#{errors_gitosis_path}'" and return
-  rescue StandardError => ex
-    @project.errors.add(:base, "Cant save project. Please try again later")
-    respond_to do |format|
-      format.html { render action: "new" }
-      format.js
-      format.json { render json: @project.errors, status: :unprocessable_entity }
-    end
-  end
-
-  def update
-    respond_to do |format|
-      if project.update_attributes(params[:project])
-        format.html { redirect_to project, notice: 'Project was successfully updated.' }
-        format.js 
-        format.json { head :ok }
-      else
-        format.html { render action: "edit" }
-        format.js 
-        format.json { render json: project.errors, status: :unprocessable_entity }
-      end
-    end
-  end
-
   def destroy
     project.destroy
 
     respond_to do |format|
       format.html { redirect_to projects_url }
-      format.json { head :ok }
     end
   end
 
-  def wall
-    @notes = @project.common_notes
-    @note = Note.new
-  end
-
   protected 
 
   def project 
diff --git a/app/controllers/team_members_controller.rb b/app/controllers/team_members_controller.rb
index fd3c944b2892c28893c8fe60548943adabbc9854..e00cc36c0eb0a86b4c586ec4de057555273c57f7 100644
--- a/app/controllers/team_members_controller.rb
+++ b/app/controllers/team_members_controller.rb
@@ -12,7 +12,6 @@ class TeamMembersController < ApplicationController
     respond_to do |format|
       format.html # show.html.erb
       format.js
-      format.json { render json: @team_member }
     end
   end
 
@@ -22,7 +21,6 @@ class TeamMembersController < ApplicationController
     respond_to do |format|
       format.html # new.html.erb
       format.js
-      format.json { render json: @team_member }
     end
   end
 
@@ -34,11 +32,9 @@ class TeamMembersController < ApplicationController
       if @team_member.save
         format.html { redirect_to @team_member, notice: 'Team member was successfully created.' }
         format.js
-        format.json { render json: @team_member, status: :created, location: @team_member }
       else
         format.html { render action: "new" }
         format.js
-        format.json { render json: @team_member.errors, status: :unprocessable_entity }
       end
     end
   end
@@ -59,7 +55,6 @@ class TeamMembersController < ApplicationController
 
     respond_to do |format|
       format.html { redirect_to root_path }
-      format.json { head :ok }
       format.js { render :nothing => true }  
     end
   end
diff --git a/app/views/notes/_notes.html.haml b/app/views/notes/_notes.html.haml
index 457bb8db76398ae3fafcb9e979260f2307f51459..9d1d4b941c89e3aab23657fd890b9901e6d11875 100644
--- a/app/views/notes/_notes.html.haml
+++ b/app/views/notes/_notes.html.haml
@@ -1,5 +1,6 @@
 %ul#notes-list
   - @notes.each do |note|
+    - next unless note.author
     = render :partial => "notes/show", :locals => {:note => note}
 
 %br
diff --git a/app/views/projects/_list.html.haml b/app/views/projects/_list.html.haml
index 82e1948c75750c9b3eca227bc7683736e897b5b4..aec61ffbbe1c88b8a9ca94b8efbdfce4116b1c16 100644
--- a/app/views/projects/_list.html.haml
+++ b/app/views/projects/_list.html.haml
@@ -1,6 +1,3 @@
--#- if current_user.can_create_project?
-  = link_to 'New Project', new_project_path, :class => "lbutton vm"
-
 %table.round-borders#projects-list
   %tr
     %th Name
diff --git a/app/views/projects/_projects_top_menu.html.haml b/app/views/projects/_projects_top_menu.html.haml
index be04c57e842db0d8ed7d5c98f43a458e604a879a..f80f28a8bbbb693432f88a181fe70ab545a26ea8 100644
--- a/app/views/projects/_projects_top_menu.html.haml
+++ b/app/views/projects/_projects_top_menu.html.haml
@@ -1,6 +1,7 @@
 %div.top_project_menu
   %span= link_to 'All', projects_path, :class => current_page?(projects_path) ? "current" : nil
-  %span= link_to "New Project", new_project_path, :class => current_page?(:controller => "projects", :action => "new") ? "current" : nil
+  - if current_user.can_create_project?
+    %span= link_to "New Project", new_project_path, :class => current_page?(:controller => "projects", :action => "new") ? "current" : nil
   %span.right
     = link_to_function(image_tag("list_view_icon.jpg"), "switchProjectView()", :style => "border:none;box-shadow:none;")