Index: design/admin/templates/content/browse.tpl
===================================================================
--- design/admin/templates/content/browse.tpl	(revision 23864)
+++ design/admin/templates/content/browse.tpl	(working copy)
@@ -9,10 +9,10 @@
      bookmark_list=fetch('content','bookmarks',array())}
 {section show=is_set( $node_list )}
     {def $page_uri=$requested_uri }
-    {def $page_uri_suffix=concat( '?', $requested_uri_suffix)}
-    {set browse_list_count=$node_list_count
-         node_array=$node_list}
-    {section-else}
+    {set browse_list_count = $node_list_count
+         node_array        = $node_list
+         page_uri_suffix   = concat( '?', $requested_uri_suffix)}
+{section-else}
     {def $page_uri=concat( '/content/browse/', $main_node.node_id )}
 
     {set browse_list_count=fetch( content, list_count, hash( parent_node_id, $node_id, depth, 1, objectname_filter, $view_parameters.namefilter))
@@ -101,7 +101,7 @@
 
 <div class="context-block">
 {* DESIGN: Header START *}<div class="box-header"><div class="box-tc"><div class="box-ml"><div class="box-mr"><div class="box-tl"><div class="box-tr">
-{section show=is_set( $node_list )|not()}
+{section show=is_unset( $node_list )}
     {let current_node=fetch( content, node, hash( node_id, $browse.start_node ) )}
     {section show=$browse.start_node|gt( 1 )}
         <h2 class="context-title">
@@ -112,7 +112,7 @@
     {/section}
     {/let}
 {section-else}
- <h2 class="context-title"><img src={'back-button-16x16.gif'|ezimage} alt="Back" /> {'folder'|class_icon( small)}&nbsp;{'Search result'|i18n( 'design/admin/content/browse' )}&nbsp;[{$node_list|count()}]</h2>
+ <h2 class="context-title"><img src={'back-button-16x16.gif'|ezimage} alt="Back" /> {'folder'|class_icon( small)}&nbsp;{'Search result'|i18n( 'design/admin/content/browse' )}&nbsp;[{$browse_list_count}]</h2>
 
 {/section}
 {* DESIGN: Subline *}<div class="header-subline"></div>
Index: kernel/content/browse.php
===================================================================
--- kernel/content/browse.php	(revision 23886)
+++ kernel/content/browse.php	(working copy)
@@ -43,10 +43,15 @@
 // We get node list when browse is execiuted from search engine ( "search in browse" functionality )
 if ( isset( $Params['NodeList'] ) )
 {
-     $nodeList = $Params['NodeList']['SearchResult'];
-     $nodeListCount = $Params['NodeList']['SearchCount'];
-     $requestedURI = $Params['NodeList']['RequestedURI'];
-     $requestedURISuffix = $Params['NodeList']['RequestedURISuffix'];
+    $nodeList = $Params['NodeList']['SearchResult'];
+    $nodeListCount = $Params['NodeList']['SearchCount'];
+    $requestedURI = $Params['NodeList']['RequestedURI'];
+    $requestedURISuffix = $Params['NodeList']['RequestedURISuffix'];
+
+    if ( isset( $Params['NodeID'] ) && is_numeric( $Params['NodeID'] ) )
+    {
+        $NodeID = $Params['NodeID'];
+    }
 }
 else
 {
@@ -58,7 +63,10 @@
     }
 
     $NodeID = $browse->attribute( 'start_node' );
+}
 
+if ( isset( $NodeID ) )
+{
     $node = eZContentObjectTreeNode::fetch( $NodeID );
     if ( !$node )
         return $Module->handleError( eZError::KERNEL_NOT_AVAILABLE, 'kernel' );
@@ -153,7 +161,7 @@
 
 // Fetch the navigation part from the section information
 $Result['navigation_part'] = 'ezcontentnavigationpart';
-if ( !isset( $nodeList ) )
+if ( isset( $object ) && isset( $node ) )
 {
     $globalSectionID = $object->attribute( 'section_id' );
     $section = eZSection::fetch( $object->attribute( 'section_id' ) );
@@ -197,7 +205,7 @@
 {
     $Result['path'] = $templatePath;
 }
-elseif ( isset( $nodeList ) )
+elseif ( isset( $nodeList ) && !isset( $parents ) )
 {
     $Result['path'] = array( array( 'text' => ezi18n( 'kernel/content', 'Search' ),
                                     'url' => false ) );
Index: kernel/content/search.php
===================================================================
--- kernel/content/search.php	(revision 23886)
+++ kernel/content/search.php	(working copy)
@@ -66,12 +66,17 @@
 $ini = eZINI::instance();
 $useSearchCode = $ini->variable( 'SearchSettings', 'SearchViewHandling' ) == 'default';
 $logSearchStats = $ini->variable( 'SearchSettings', 'LogSearchStats' ) == 'enabled';
+$browseMode = $http->hasVariable( 'Mode' ) && $http->variable( 'Mode' ) == 'browse';
 
 $searchPageLimit = 2;
 if ( $http->hasVariable( 'SearchPageLimit' ) )
 {
     $searchPageLimit = $http->variable( 'SearchPageLimit' );
 }
+else if ( $browseMode )
+{
+    $searchPageLimit = eZPreferences::value( 'admin_list_limit' ) + 1;
+}
 
 $pageLimit = pageLimit( $searchPageLimit );
 
@@ -150,7 +155,7 @@
 $tpl->setVariable( "view_parameters", $viewParameters );
 $tpl->setVariable( 'use_template_search', !$useSearchCode );
 
-if ( $http->hasVariable( 'Mode' ) && $http->variable( 'Mode' ) == 'browse' )
+if ( $browseMode )
 {
     if( !isset( $searchResult ) )
         $searchResult = eZSearch::search( $searchText, array( "SearchType" => $searchType,
@@ -166,7 +171,8 @@
 
     $searchResult['RequestedURISuffix'] = 'SearchText=' . urlencode ( $searchText ) . ( ( $searchTimestamp > 0 ) ?  '&SearchTimestamp=' . $searchTimestamp : '' ) . '&Mode=browse';
     return $Module->run( 'browse',array(),array( "NodeList" => $searchResult,
-                                                 "Offset" => $Offset ) );
+                                                 "Offset" => $Offset,
+                                                 "NodeID" => isset( $subTreeArray[0] ) && $subTreeArray[0] != 1 ? $subTreeArray[0] : null  ) );
 }
 
 // --- Compatibility code start ---
