diff --git a/app/views/spree/admin/orders/customer_details/_form.html.erb b/app/views/spree/admin/orders/customer_details/_form.html.erb
deleted file mode 100644
index 91ccfe7805..0000000000
--- a/app/views/spree/admin/orders/customer_details/_form.html.erb
+++ /dev/null
@@ -1,66 +0,0 @@
-
diff --git a/app/views/spree/admin/orders/customer_details/_form.html.haml b/app/views/spree/admin/orders/customer_details/_form.html.haml
new file mode 100644
index 0000000000..9b6065476a
--- /dev/null
+++ b/app/views/spree/admin/orders/customer_details/_form.html.haml
@@ -0,0 +1,45 @@
+%fieldset.no-border-top{"data-hook" => "admin_customer_detail_form_fields"}
+ %fieldset.index.no-border-bottom{"data-hook" => "customer_guest"}
+ %legend{:align => "center"}= Spree.t(:account)
+ .row{"data-hook" => "customer_fields"}
+ .alpha.eight.columns
+ .field
+ = f.label :email, Spree.t(:email) + ':'
+ = f.email_field :email, :class => 'fullwidth'
+ .omega.four.columns
+ .field
+ = label_tag nil, Spree.t(:guest_checkout)
+ \:
+ %ul
+ - if @order.completed?
+ %li
+ = @order.user.nil? ? Spree.t(:say_yes) : Spree.t(:say_no)
+ - else
+ - guest = @order.user.nil? || @order.user.anonymous?
+ %li
+ = radio_button_tag :guest_checkout, true, guest
+ = Spree.t(:say_yes)
+ %li
+ = radio_button_tag :guest_checkout, false, !guest, :disabled => @order.cart?
+ = Spree.t(:say_no)
+ = hidden_field_tag :user_id, @order.user_id
+
+ .alpha.six.columns{"data-hook" => "bill_address_wrapper"}
+ %fieldset.no-border-bottom
+ %legend{:align => "center"}= Spree.t(:billing_address)
+ = f.fields_for :bill_address do |ba_form|
+ = render :partial => 'spree/admin/shared/address_form', :locals => { :f => ba_form, :name => Spree.t(:billing_address), :use_billing => false }
+
+ .omega.six.columns{"data-hook" => "ship_address_wrapper"}
+ %fieldset.no-border-bottom
+ %legend{:align => "center"}= Spree.t(:shipping_address)
+ = f.fields_for :ship_address do |sa_form|
+ = render :partial => 'spree/admin/shared/address_form', :locals => { :f => sa_form, :name => Spree.t(:shipping_address), :use_billing => true }
+
+ .clear
+
+ .form-buttons.filter-actions.actions{"data-hook" => "buttons"}
+ = button Spree.t('actions.update'), 'icon-refresh'
+
+ - content_for :head do
+ = javascript_include_tag 'admin/address_states.js'
diff --git a/app/views/spree/admin/orders/customer_details/edit.html.erb b/app/views/spree/admin/orders/customer_details/edit.html.erb
deleted file mode 100644
index 0f5258e861..0000000000
--- a/app/views/spree/admin/orders/customer_details/edit.html.erb
+++ /dev/null
@@ -1,27 +0,0 @@
-<%= render :partial => 'spree/admin/shared/order_tabs', :locals => { :current => 'Customer Details' } %>
-
-<%= csrf_meta_tags %>
-
-<% content_for :page_title do %>
- <%= Spree.t(:customer_details) %>
-<% end %>
-
-<% content_for :page_actions do %>
- <%= button_link_to Spree.t(:back_to_orders_list), admin_orders_path, :icon => 'icon-arrow-left' %>
-<% end %>
-
-<% if @order.cart? %>
-
-
-
- <%= hidden_field_tag :customer_search, nil, :class => 'fullwidth title' %>
- <%= render :partial => "spree/admin/orders/customer_details/autocomplete", :formats => :js %>
-
-
-<% end %>
-
-<%= render :partial => 'spree/shared/error_messages', :locals => { :target => @order } %>
-
-<%= form_for @order, :url => admin_order_customer_url(@order) do |f| %>
- <%= render 'form', :f => f %>
-<% end %>
diff --git a/app/views/spree/admin/orders/customer_details/edit.html.haml b/app/views/spree/admin/orders/customer_details/edit.html.haml
new file mode 100644
index 0000000000..4396f7ccd6
--- /dev/null
+++ b/app/views/spree/admin/orders/customer_details/edit.html.haml
@@ -0,0 +1,22 @@
+= render :partial => 'spree/admin/shared/order_tabs', :locals => { :current => 'Customer Details' }
+
+= csrf_meta_tags
+
+- content_for :page_title do
+ %i.icon-arrow-right
+ = Spree.t(:customer_details)
+
+- content_for :page_actions do
+ %li= button_link_to Spree.t(:back_to_orders_list), admin_orders_path, :icon => 'icon-arrow-left'
+
+- if @order.cart?
+ #select-customer{"data-hook" => ""}
+ %fieldset.no-border-bottom
+ %legend{:align => "center"}= Spree.t(:customer_search)
+ = hidden_field_tag :customer_search, nil, :class => 'fullwidth title'
+ = render :partial => "spree/admin/orders/customer_details/autocomplete", :formats => :js
+
+= render :partial => 'spree/shared/error_messages', :locals => { :target => @order }
+
+= form_for @order, :url => admin_order_customer_url(@order) do |f|
+ = render 'form', :f => f