The Haunted Bookshop turns 40

Nierme, the Haunted Bookshop’s mildew-sniffing wonder, gets some well-deserved love from store owner Nialle Sylvan. — Zak Neumann/Little Village

Despite its spooky-sounding name and the fact it’s in one of Iowa City’s oldest buildings, any mysterious noise heard in the Haunted Bookshop is likely the work of the shop’s cats, not ghosts.

The store’s name comes from Christopher Morley’s 1919 novel, The Haunted Bookshop. The only unquiet dead in the novel are “the ghosts of the books I haven’t read,” the fictional shop’s owner tells another character. “That’s why I call this place the Haunted Bookshop.”

In the book, the shop is the center of an improbable international conspiracy — a book is stolen, people are kidnapped by a spy, a bomb explodes. At Iowa City’s Haunted Bookshop things are much calmer.

Over the past 40 years, the Haunted Bookshop has grown into Iowa City’s largest secondhand bookstore, which means much of the action in the shop involves cleaning the 25,000 to 35,000 used books that come in every year.

“We exist to provide a way to reuse,” owner Nialle Sylvan said.

Sylvan has owned The Haunted Bookshop since 2004. The business was started and named on October 16, 1978 by the original owner, Rok Williams. It was a good year for bookstores in Iowa City — Prairie Lights also opened its doors that year.

The bookshop had three previous locations before it was moved to the historic Wentz house on N Gilbert Street in 2013. Built in 1847, the Greek Revival-style house is the only remaining two-story 19th-century house in Iowa City constructed from native stone.

The Haunted Bookshop at 219 N Gilbert St, Iowa City. — Zak Neumann/Little Village

The house has been the location of several businesses owned and operated by women throughout its history. “A lot of strong women have been here, and it feels kind of good to know that … I belong in that succession,” Sylvan said.

The bookshop houses approximately 50,000 books; the range of topics covered can be seen in Weldon’s room, one of the shop’s 10 rooms. Weldon’s room is focused on Iowa-centered books, containing everything from graphic novels to books on food and cooking.

“The books about Iowa and the books about food are in the same place, which makes sense to everybody who actually is from Iowa,” Sylvan said.
More than books have found a second home in The Haunted Bookshop. There was also Phey.

Phey was the shop’s first cat. She came to live at the bookshop for a month after her owners’ home was damaged in the 2006 tornado.

“[S]he certainly was a joy to meet and to share, and she inspired bringing Nierme and Logan on to the staff, and I don’t know what we would do without them. They’re just a constant source of delight and funny stories,” Sylvan said.

Logan handles the traditional cat role of pest control. Nierme has a more specialized job. When patrons bring in books to be sold, she is in charge of sniffing them for mildew. If Nierme snarls, Sylvan knows not to buy the books.

“She has a particular face that she makes when she smells mildew, and so even if I can’t smell it, you know cats have a much better sense of smell like all mammals do compared to humans, so she’ll make this face … this lip-curled-back kind of face,” Sylvan said.

Sylvan views her job as a “cultural calling.” Her favorite part is interacting with customers and recommending books. She feels a particular affinity for the shy reader and takes her responsibility as the sole curator for the bookshop’s selections seriously.

The Haunted Bookshop. — Zak Neumann/Little Village

“Because it is a used bookstore, because I do all the buying, I’m in a position to curate a selection based on what I know of my community,” Sylvan said. “I can have a really big LGBT section, when it’s not picked clean … and by that, make the statement that this is OK. If this is you, this is OK. You can be here. You’re welcome here.”

That sense of community is reflected in the store’s furniture. Much of it was donated as gifts from patrons. The rocking chairs and cozy couches evoke a sense of comfort and familiarity. “It’s not just the furniture, it’s also the books that are themselves loaded with all of these different memories of people,” Sylvan said.

In January, the shop’s sense of community was challenged when an outside wall was spray-painted with a message accusing an employee of being a “sexual abuser.” This incited controversy on social media, but no accusations were confirmed, nor charges filed. Sylvan said of the incident, “I will never stop trying to make this place a safe and accessible place for everyone.”

Because the Wentz House has been listed on the National Register of Historic Places since 1974, there were restrictions on what could be used to strip off the spray paint. Crushed walnuts, commonly used to gently remove layers of paint during art restoration, were rubbed against the building to clean it.

In addition to providing a space for readers and cats, the Haunted Bookshop also raises between $10,000 and $15,000 each year for Iowa City’s Free Medical Clinic. Near the back door are shelves packed with books — $1.00 for hardcovers, 50 cents for paperbacks — and all proceeds from those sales are donated to the clinic.

Shop cat Nierme relaxes in the Haunted Bookshop. — Zak Neumann/Little Village

“The Free Medical Clinic has this amazing ability to turn basically every dollar into five dollars’ worth of medical supplies or services,” Sylvan said.

To celebrate the 40th birthday of the Haunted Bookshop, Sylvan plans to create a scavenger hunt in the store and have an excerpt read from Christopher Morley’s The Haunted Bookshop.

“So many people have memories attached to this place and some of them have, in their kindness, given me mementos of the long history of the store before I got here,” Sylvan said. “I want to hide those around the store and I want to give people the chance to be surprised by memories and maybe by what those memories evoke.”

Abby Evans is a Little Village intern and admirer of mildew-detecting cats. She is a senior at the University of Iowa studying English and creative writing. This article was originally published in Little Village issue 246.

[gravityform id="17" title="false" description="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper your-village-form_wrapper' id='gform_wrapper_17' ><a id='gf_17' class='gform_anchor' ></a><form method='post' enctype='multipart/form-data' target='gform_ajax_frame_17' id='gform_17' class='your-village-form' action='/the-haunted-bookshop-turns-40/#gf_17'> <div class='gform_body'><ul id='gform_fields_17' class='gform_fields top_label form_sublabel_below description_below'><li id='field_17_7' class='gfield gfield_html gfield_html_formatted gfield_no_follows_desc field_sublabel_below field_description_below gfield_visibility_visible' ><h3 style="font-weight:800; font-size:34px;">Let's get started</h3> <p style="font-size:18px;">Fill out this form and we'll contact you with information about marketing with Little Village!</p></li><li id='field_17_4' class='gfield field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label gfield_label_before_complex' for='input_17_4_3' ></label><div class='ginput_complex ginput_container no_prefix has_first_name no_middle_name has_last_name no_suffix gf_name_has_2 ginput_container_name gfield_trigger_change' id='input_17_4'> <span id='input_17_4_3_container' class='name_first' > <input type='text' name='input_4.3' id='input_17_4_3' value='' aria-label='First name' tabindex='2' aria-invalid="false" placeholder='First name'/> <label for='input_17_4_3' >First</label> </span> <span id='input_17_4_6_container' class='name_last' > <input type='text' name='input_4.6' id='input_17_4_6' value='' aria-label='Last name' tabindex='4' aria-invalid="false" placeholder='Last name'/> <label for='input_17_4_6' >Last</label> </span> </div></li><li id='field_17_5' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_5' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_17_5' type='text' value='' class='large' tabindex='6' placeholder='Company name' aria-required="true" aria-invalid="false" /></div></li><li id='field_17_3' class='gfield gfield_contains_required field_sublabel_below field_description_below gfield_visibility_visible' ><label class='gfield_label' for='input_17_3' ><span class='gfield_required'>*</span></label><div class='ginput_container ginput_container_email'> <input name='input_3' id='input_17_3' type='text' value='' class='large' tabindex='7' placeholder='Your email address' aria-required="true" aria-invalid="false"/> </div></li><li id='field_17_8' class='gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_' ><label class='gfield_label' for='input_17_8' >Email</label><div class='ginput_container'><input name='input_8' id='input_17_8' type='text' value='' /></div><div class='gfield_description'>This field is for validation purposes and should be left unchanged.</div></li> </ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_17' class='gform_button button' value='SUBMIT' tabindex='8' onclick='if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_17"]){return false;} window["gf_submitting_17"]=true; jQuery("#gform_17").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=17&amp;title=&amp;description=&amp;tabindex=1' /> <input type='hidden' class='gform_hidden' name='is_submit_17' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='17' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_17' value='WyJbXSIsIjlmNzc1YTEyZmZjNmYyODk5Mzk0NDM3ZjRlOGYyZDNmIl0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_17' id='gform_target_page_number_17' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_17' id='gform_source_page_number_17' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> <p style="display: none !important;"><label>&#916;<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js" value="156"/><script>document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() );</script></p></form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_17' id='gform_ajax_frame_17'>This iframe contains the logic required to handle Ajax powered Gravity Forms.</iframe> <script type='text/javascript'>jQuery(document).ready(function($){gformInitSpinner( 17, '' );jQuery('#gform_ajax_frame_17').load( function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_17');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_17').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;if(is_form){jQuery('#gform_wrapper_17').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_17').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_17').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_17').offset().top); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_17').val();gformInitSpinner( 17, '' );jQuery(document).trigger('gform_page_loaded', [17, current_page]);window['gf_submitting_17'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_17').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_17').offset().top);jQuery(document).trigger('gform_confirmation_loaded', [17]);window['gf_submitting_17'] = false;}, 50);}else{jQuery('#gform_17').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [17, current_page]);} );} );</script><script type='text/javascript'> if(typeof gf_global == 'undefined') var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2},"base_url":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope","number_formats":[],"spinnerUrl":"https:\/\/\/wp-content\/plugins\/gravityforms-asdf111aasdfffs-nope\/images\/spinner.gif"};jQuery(document).bind('gform_post_render', function(event, formId, currentPage){if(formId == 17) {if(typeof Placeholders != 'undefined'){ Placeholders.enable(); }} } );jQuery(document).bind('gform_post_conditional_logic', function(event, formId, fields, isInit){} );</script><script type='text/javascript'> jQuery(document).ready(function(){jQuery(document).trigger('gform_post_render', [17, 1]) } ); </script>