NH Supreme Court overturns conviction of man for voting in two states in 2016 election
Advertisement
DOZENS OF LOCAL BUSINESSES. THE STATE SUPREME COURT HAS JUST OVERTURNED THE CONVICTION OF A MAN WHO. PROSECUTORS SAID VOTED IN THE 2016 GENERAL ELECTION IN MASSACHUSETTS AND IN NEW HAMPSHIRE. RICHARD ROSEN WAS CONVICTED IN 2024 ON A FELONY COUNT OF WRONGFUL VOTING, WHILE YESTERDAY’S RULING CONCLUDED THAT THE TRIAL COURT MADE A MISTAKE BY EXCLUDING EVIDENCE ABOUT ANOTHER MAN WHO ALLEGEDLY CONFESSED TO REPEATEDLY CASTING VOTES IN ROSEN’S NAME IN MASSACHUSETTS, PROSECUTORS WERE ALLOWED TO MENTION EVIDENCE OF SIX PRIOR INSTANCES IN WHICH VOTES WERE CAST IN ROSEN’S NAMES. IN BOTH STATES, THE STATE SUPREME COURT SAID. DOING SO DESPITE ROS
Advertisement
NH Supreme Court overturns conviction of man for voting in two states in 2016 election
Updated: 8:19 PM EDT Apr 10, 2026
Editorial Standards ⓘ
Advertisement
The New Hampshire Supreme Court has overturned the conviction of a man who prosecutors say voted in the 2016 general election in Massachusetts and New Hampshire.Richard Rosen was convicted in 2024 on a felony count of wrongful voting.Thursday’s ruling concluded that the trial court made a mistake by excluding evidence about another man who allegedly confessed to repeatedly casting votes in Rosen’s name in Massachusetts.Prosecutors were allowed to mention evidence of six prior instances in which votes were cast in Rosen’s name in both states. The New Hampshire Supreme Court said that withholding evidence about another person voting in Rosen’s name unfairly prejudiced the jury.
CONCORD, N.H. —
The New Hampshire Supreme Court has overturned the conviction of a man who prosecutors say voted in the 2016 general election in Massachusetts and New Hampshire.
Advertisement
Richard Rosen was convicted in 2024 on a felony count of wrongful voting.
Thursday’s ruling concluded that the trial court made a mistake by excluding evidence about another man who allegedly confessed to repeatedly casting votes in Rosen’s name in Massachusetts.
Prosecutors were allowed to mention evidence of six prior instances in which votes were cast in Rosen’s name in both states.
Advertisement
The New Hampshire Supreme Court said that withholding evidence about another person voting in Rosen’s name unfairly prejudiced the jury.
Advertisement
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
var location = { zip: window.DEFAULT_ZIPCODE };
Advertisement
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
Advertisement
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wmur.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘mobile-weather’, “https://www.wmur.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
Advertisement
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
Advertisement
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
`;
}
function refreshWeatherIframe(containerId) {
var iframeId = ‘weather-iframe-‘ + containerId;
var iframe = document.getElementById(iframeId);
if (iframe && iframe.src) {
var originalSrc = iframe.src;
iframe.src = originalSrc + (originalSrc.indexOf(‘?’) > -1 ? ‘&’ : ‘?’) + ‘t=” + Date.now();
}
}
function initializeWeatherBox(container) {
var containerId = container.getAttribute(“data-container-id’);
var isWeatherBoxV2 = containerId === ‘home-weather-v2’;
Advertisement
function switchWeatherTab(tabName, clickedElement) {
container.querySelectorAll(‘[data-tab-id]’).forEach(function(tab) {
tab.classList.remove(‘open’);
tab.setAttribute(‘aria-selected’, ‘false’);
});
var targetContent = container.querySelector(‘[data-content-id=”‘ + tabName + ‘”]’);
if (targetContent) {
targetContent.style.display = ‘block’;
targetContent.removeAttribute(‘hidden’);
}
}
function loadWeatherData() {
// If weather data is already being loaded, wait for it
if (window.weatherDataPromise) {
window.weatherDataPromise.then(function(data) {
if (data && data.data) {
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
}
});
return;
}
Advertisement
var location = { zip: window.DEFAULT_ZIPCODE };
try {
var storedLocations = localStorage.getItem(‘hrst.zip.history’);
if (storedLocations) {
var locations = JSON.parse(storedLocations);
if (locations && locations.length > 0) {
location = locations[0];
}
}
} catch (e) {}
var apiUrl = (window.DEWY_HOSTNAME || ”) + ‘/api/v1/weather/full/’ + location.zip;
if (window.fetch) {
window.weatherDataPromise = fetch(apiUrl)
.then(function(response) { return response.json(); })
.then(function(data) {
if (data && data.data) {
var article = container.closest(‘.article–wrapper’);
var weatherContainer = container.closest(‘.weather-box-container’);
if (weatherContainer) {
weatherContainer.style.display = ‘flex’;
updateCurrentWeather(data.data);
updateForecastTabs(data.data);
updateWeatherAlertsBar(data.data);
}
return data;
}
})
.catch(function(error) {
console.error(‘Error loading weather:’, error);
// Reset to unknown background on error
updateWeatherBackground(‘unknown’);
});
}
}
function updateWeatherAlertsBar(weatherData) {
var weatherWatchHeader = container.querySelector(‘.weather-watch-header’);
if (!weatherWatchHeader) return;
Advertisement
var weatherWatchText = weatherWatchHeader.querySelector(‘.weather-watch-text’);
var weatherWatchLink = weatherWatchHeader.querySelector(‘.weather-watch-link’);
if (weatherData.alerts_count > 0) {
weatherWatchHeader.className=”weather-watch-header has-alerts”;
if (weatherWatchText) {
weatherWatchText.textContent = `Weather Alerts (${weatherData.alerts_count})`;
}
if (weatherWatchLink) {
if (!weatherWatchLink.getAttribute(‘data-initial-href’)) {
weatherWatchLink.setAttribute(‘data-initial-href’, weatherWatchLink.getAttribute(‘href’));
weatherWatchLink.setAttribute(‘data-initial-onclick’, weatherWatchLink.getAttribute(‘onclick’) || ”);
}
weatherWatchLink.setAttribute(‘href’, “https://www.wmur.com/alerts”);
weatherWatchLink.setAttribute(‘onclick’, “return handleWeatherLinkClick(event, ‘click_alerts’, ‘click’, ‘sidelist-weather’, “https://www.wmur.com/alerts”);”);
}
} else {
weatherWatchHeader.className=”weather-watch-header”;
if (weatherWatchText) {
weatherWatchText.textContent = containerId === ‘home-weather-v2’ ? ‘Watch Latest Forecast’ : ‘Latest Forecast’;
}
if (weatherWatchLink) {
var initialHref = weatherWatchLink.getAttribute(‘data-initial-href’);
var initialOnclick = weatherWatchLink.getAttribute(‘data-initial-onclick’);
if (initialHref) {
weatherWatchLink.setAttribute(‘href’, initialHref);
}
if (initialOnclick) {
weatherWatchLink.setAttribute(‘onclick’, initialOnclick);
}
}
}
}
function updateCurrentWeather(weatherData) {
if (weatherData.current) {
var tempValue = weatherData.current.temp_f || ”;
var skyValue = weatherData.current.sky || ”;
var feelsLikeValue = weatherData.current.feels_like_f || weatherData.current.temp_f || ”;
var tempEl = container.querySelector(‘.weather-grid–current-temp-value’);
if (tempEl) {
tempEl.textContent = tempValue;
tempEl.setAttribute(‘aria-label’, tempValue + ‘ degrees Fahrenheit’);
}
var iconEl = container.querySelector(‘.weather-grid–current-icon’);
if (iconEl && weatherData.current.icon_name) {
iconEl.className=”weather-grid–current-icon weather-current-icon icon icon-weather-” + weatherData.current.icon_name;
}
Advertisement
var skyEl = container.querySelector(‘.weather-grid–sky’);
if (skyEl) {
skyEl.textContent = skyValue;
skyEl.setAttribute(‘aria-label’, ‘Current condition: ‘ + skyValue);
}
var feelsEl = container.querySelector(‘.weather-grid–feels’);
if (feelsEl) {
feelsEl.textContent = feelsLikeValue + ‘°F’;
feelsEl.setAttribute(‘aria-label’, feelsLikeValue + ‘ degrees Fahrenheit’);
}
var weatherContainer = container.querySelector(‘.weather-temp-container’);
if (weatherContainer) {
var summary = ‘Current temperature ‘ + tempValue + ‘ degrees Fahrenheit, ‘ +
skyValue + ‘, feels like ‘ + feelsLikeValue + ‘ degrees’;
weatherContainer.setAttribute(‘aria-label’, summary);
}
function updateForecastTabs(weatherData) {
var visibleItems = isWeatherBoxV2 ? 6 : 5;
if (weatherData.hourly) {
var hourlyContainer = container.querySelector(‘.weather-hourly-forecast’);
if (hourlyContainer) {
var html=””;
var maxHours = Math.min(visibleItems, weatherData.hourly.length);
for (var i = 0; i 0 ? currentIndex – 1 : tabs.length – 1;
tabs[prevIndex].focus();
break;
case ‘ArrowRight’:
e.preventDefault();
var nextIndex = currentIndex
LONDONDERRY, NH — Here is the latest roundup of events posted on Patch sites around New Hampshire.
Event listings are free on one Patch site. You can share your calendar listing on other community sites for a modest fee, starting at 25 cents per day. To get started, visit the Events link on the front page of all Patch sites. Statewide calendar roundups are published on most Mondays, Wednesdays, and Fridays.
Bedford Garden Club Annual Plant Sale (May 16: Joppa Hill Educational Farm, Bedford)
Advertisement
GSBC’s FREE Annual Memorial Day Pig Roast (May 25: Granite State Baptist Church, Concord)
Graduation Parties — Open House (May 27: Lanam Club Inc, Andover, MA)
Introduction to AI — Free, in-person class (May 30: C1M Photography, LLC, Amherst)
Great Island Garden Club Plant Sale (May 30: New Castle Recreation Center, New Castle)
Diamonds in the Ruff Gala (May 31: Event Center, Nashua)
Advertisement
Do you have a news tip? Email it to tony.schinella@patch.com. View videos on Tony Schinella’s YouTube or Rumble channels. Patch in New Hampshire is now in 217 communities — and expanding every day. Also, follow Patch on Google Discover.
Get more local news delivered straight to your inbox. Sign up for free Patch newsletters and alerts.
Loudon, NH – Constance “Connie” Ann Raney (Wells), age 89, of Loudon NH, passed away peacefully on Tuesday, April 28th, 2026, surrounded by her husband, children, grandchildren, and great grandchildren at her bedside.
Connie was born in Concord, NH on January 19th, 1937, to the late Guy and Gladys Wells. She was the beloved wife of Robert “Bob” Raney for 63 wonderful years, with whom she shared three children, eight grandchildren, and nine great grandchildren with. She was a devoted wife, mother, and grandmother.
Advertisement
Connie grew up on a working farm in Loudon, NH with her family. She then worked as a hairdresser at the Merrimack County Nursing Home where she retired after 21 years of service. In her free time, Connie enjoyed adventures, sightseeing, snowmobiling, and camping with her husband, friends, and family – most notably her time spent in the White Mountains of NH, and Totem Pole Campground on Lake Ossipee. She took her grandchildren fishing, looked forward to beach days with her family, and enjoyed basking in the sun on her porch. Connie was a lover of animals from wildlife, to farm animals, to dogs and cats. She also loved music – singing, and dancing; doing puzzles; watching Hallmark movies and Boston sports; and shopping. She was a socializer, and looked forward to events like Loudon Old Home Day, her great grandchildren’s birthday parties, and other family gatherings and holidays, especially Christmas. Connie was a dedicated member of the Loudon “Young At Heart” group, and also volunteered on the Loudon Cate Van, a service that helped to connect community members with essential services. Connie was a radiant, cheerful spirit with a knack for being silly and making people laugh, especially her family, who will miss her deeply.
In addition to her loving husband, Connie leaves behind her children, Scott Raney of Hopkinton, NH, Michelle Raney Benson and husband Peter Benson of Hopkinton, NH, and Bryant Raney and wife Denise Walker Raney of Loudon, NH; her grandchildren, Kaylee Raney Henriksen and husband Joshua Henriksen of Hopkinton, NH, Kelsie Benson Stuart and husband Collin Stuart of Acton, ME, Kendall Benson of South Portland, ME, Courtney Benson Karanasios and husband Tyler Karanasios of Hopkinton, NH, Peter Scott Benson II and wife Emma Benson of Hopkinton, NH, Hayden Benson and wife Nicole Benson of Jackson, WY, Steven Benson of Hopkinton NH, and Jacob Raney of Lake Tahoe; her great grandchildren Jaela Brown, Sylus Henriksen, Lincoln Stuart, Fletcher Stuart, Calvin Stuart, Wells Karanasios, Adley Benson, Raney Benson, and Sawyer Benson; many nieces and nephews; and her cherished dog, Duke. As Connie would always say, “Keep waving.”
Connie was predeceased by her parents and her four brothers: Omar “Smokey” Cochran, Russell Cochran, Edward Wells, and Arthur Wells.
A graveside service will be held on Thursday, May 7th at 10:00 am at the New Hampshire State Veterans Cemetery, 110 Daniel Webster Hwy, Boscawen, NH. The Veterans Cemetery requests that guests arrive 15 minutes early. A private celebration of life will take place at the home of Connie and Bob following the ceremony.
Click here to sign the guest book or honor their memory with flowers, donations, or other heartfelt tributes