Index: operations.hpp =================================================================== --- operations.hpp (revision 74949) +++ operations.hpp (working copy) @@ -689,9 +689,9 @@ { if ((m_options & symlink_option::_detail_no_push) == symlink_option::_detail_no_push) m_options &= ~symlink_option::_detail_no_push; - else if (is_directory(m_stack.top()->status()) - && (!is_symlink(m_stack.top()->symlink_status()) - || (m_options & symlink_option::recurse) == symlink_option::recurse)) + else if ((!is_symlink(m_stack.top()->symlink_status()) + || (m_options & symlink_option::recurse) == symlink_option::recurse) + && is_directory(m_stack.top()->status())) { if (ec == 0) m_stack.push(directory_iterator(m_stack.top()->path()));