Welcome! Strafford is now BARBRI! The expert courses you know from the trusted global leader in legal education.
About the Course
Introduction
This CLE course will equip both plaintiffs and defendants with the tools necessary to handle punitive damages issues on trial and appeal. The spectre of punitive damages looms large when injury is involved. Counsel must understand both the applicable substantive state law as well as the constitutional backdrop and must develop effective trial strategies to persuade juries either that a serious wrong must be righted or that no punishment is warranted.
Description
A jury may award punitive damages when the defendant's conduct meets some heightened standard of culpability, which varies--at least in wording--from state to state. Phrases like "conscious disregard," "willful and wanton," "reckless indifference," and the like appear in statutes or judicial decisions, but only real-world experience can help give meaning to these phrases.
Proving or defeating punitive damages requires three victories: winning the initial phase of the trial, winning the punitive damages phase of the trial, and challenging or defending the outcome in post-trial motions and on appeal. Winning at trial--either as plaintiff or defendant--requires knowing what evidence is admissible and persuasive. The legal and tactical questions play out against the backdrop of constitutional limitations on punitive damages.
A victory, of course, is not a victory unless it can be collected. Counsel should consider whether a finding of intent will mean that insurance will not cover the award. Further, many statutory schemes require at least some portion of the damages to go to the state, not the plaintiff.
Listen as our seasoned panel speaks to issues concerning plaintiffs and defendants and provides vital knowledge as to how to prove and uphold the client's desired result.
-
This 90-minute webinar is eligible in most states for 1.5 CLE credits.
-
Live Online
On Demand
Date + Time
- event
Tuesday, June 25, 2019
- schedule
1:00 PM E.T.
- Standard to recover punitive damages
- Intentional/wilfull/malicious
- Recklessness/indifference
- Procedural issues
- Timing for discovery
- Bifurcation
- Collection
- Insurance
- Payment to state
- Constitutionality
- Appeals
The panel will review these and other topics on the subject:
- Understanding similarities and differences in state punitive damages statutes and common law
- Tactical issues, such as whether to seek bifurcation, whether to introduce evidence of other penalties the defendant has paid for the same conduct, whether to raise an advice-of-counsel defense, etc.
- Evidentiary issues
- Making and preserving the record for appeal
- Appreciation of collection issues, particularly insurance
The following has evaluated to null or missing:
==> barbriRedisCacheAPI.get("barbripass", productId) [in template "20096#20121#2885355" at line 5, column 77]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: response = barbriRedisCacheAPI.get("b... [in template "20096#20121#2885355" at line 5, column 66]
---- 1<#assign productId = ''/> 2 <#if (productID.getData())?? && productID.getData()?has_content> 3 <#assign productId = productID.getData() /> 4 </#if> 5 <#assign response = barbriRedisCacheAPI.get("barbripass", productId) 6 json = jsonFactoryUtil.createJSONObject(response) 7 /> 8 9 <div class="card"> 10 <div class="card-body"> 11 <div class="row justify-content-between align-items-center"> 12 <div class="col-auto col-sm-auto"> 13 <div class="btn cle_btn" id="modalPassShortName"><#if (passName.getData())??>${passName.getData()}</#if></div> 14 </div> 15 <div class="col-auto col-sm-auto pl-lg-0"> 16 <span class="sale-price" id="modalPassPrice">$${json.pricebook?replace(",", "")?number?string("#,##0.00")}</span> 17 </div> 18 </div> 19 <div class="small_heading_area" id="modalPassFullName"><#if (title.getData())??>${title.getData()}</#if></div> 20 <p><#if (unlimitedText.getData())??>${unlimitedText.getData()}</#if>:</p> 21 <ul class="common-list disc_list paddNone"> 22 <#if (benefits.getData())??> 23 ${benefits.getData()} 24</#if> 25 </ul> 26 </div> 27 <div class="btn-float"> 28 <div class="premium-cle-pass cart-item"> 29 <input type="hidden" class="product-id" value="${productId}"> 30 <input type="hidden" class="product-name" value="${json.name}"> 31 <input type="hidden" class="pass-value" value="${passName.getData()}"> 32 <input type="hidden" class="product-price" value="${json.pricebook}"> 33 <input type="hidden" class="passAccessLengthMonths" value="${json.passAccessLengthMonths}"> 34 <input type="hidden" class="product-pass" value="family"> 35 <input type="hidden" class="product-expireDate" value=""> 36 37 <button 38 class="btn pc_theme_btn btn-primary btn_maxwidth_xxl_large add-to-cart" 39 aria-label="Buy Now" 40 data-redirect-checkout="true" 41 > 42 <span class="material-symbols-rounded"> shopping_cart </span> 43 Buy Now 44 </button> 45 </div> 46 </div> 47 </div> 48 49 <script> 50$(document).on('click', '.add-to-cart', function () { 51 let monthsToAdd = parseInt($(".passAccessLengthMonths").val()); 52 let currentDate = new Date(); 53 let futureDate = new Date(currentDate); 54 // Add months dynamically 55 futureDate.setMonth(futureDate.getMonth() + monthsToAdd); 56 57 // Handle overflow (e.g., Jan 31 + 1 month) 58 if (futureDate.getDate() !== currentDate.getDate()) { 59 futureDate.setDate(0); // last day of previous month 60 } 61 62 // Format as MM/DD/YYYY 63 function formatDateMMDDYYYY(date) { 64 let mm = String(date.getMonth() + 1).padStart(2, '0'); 65 let dd = String(date.getDate()).padStart(2, '0'); 66 let yyyy = date.getFullYear(); 67 return mm + '/' + dd + '/' + yyyy; 68 } 69 $(".product-expireDate").val(formatDateMMDDYYYY(futureDate)); 70 71 // Then close the modal 72 $('.single_option').modal('hide'); 73 }); 74</script> The following has evaluated to null or missing:
==> barbriRedisCacheAPI.get("barbripass", productId) [in template "20096#20121#2885355" at line 5, column 77]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: response = barbriRedisCacheAPI.get("b... [in template "20096#20121#2885355" at line 5, column 66]
---- 1<#assign productId = ''/> 2 <#if (productID.getData())?? && productID.getData()?has_content> 3 <#assign productId = productID.getData() /> 4 </#if> 5 <#assign response = barbriRedisCacheAPI.get("barbripass", productId) 6 json = jsonFactoryUtil.createJSONObject(response) 7 /> 8 9 <div class="card"> 10 <div class="card-body"> 11 <div class="row justify-content-between align-items-center"> 12 <div class="col-auto col-sm-auto"> 13 <div class="btn cle_btn" id="modalPassShortName"><#if (passName.getData())??>${passName.getData()}</#if></div> 14 </div> 15 <div class="col-auto col-sm-auto pl-lg-0"> 16 <span class="sale-price" id="modalPassPrice">$${json.pricebook?replace(",", "")?number?string("#,##0.00")}</span> 17 </div> 18 </div> 19 <div class="small_heading_area" id="modalPassFullName"><#if (title.getData())??>${title.getData()}</#if></div> 20 <p><#if (unlimitedText.getData())??>${unlimitedText.getData()}</#if>:</p> 21 <ul class="common-list disc_list paddNone"> 22 <#if (benefits.getData())??> 23 ${benefits.getData()} 24</#if> 25 </ul> 26 </div> 27 <div class="btn-float"> 28 <div class="premium-cle-pass cart-item"> 29 <input type="hidden" class="product-id" value="${productId}"> 30 <input type="hidden" class="product-name" value="${json.name}"> 31 <input type="hidden" class="pass-value" value="${passName.getData()}"> 32 <input type="hidden" class="product-price" value="${json.pricebook}"> 33 <input type="hidden" class="passAccessLengthMonths" value="${json.passAccessLengthMonths}"> 34 <input type="hidden" class="product-pass" value="family"> 35 <input type="hidden" class="product-expireDate" value=""> 36 37 <button 38 class="btn pc_theme_btn btn-primary btn_maxwidth_xxl_large add-to-cart" 39 aria-label="Buy Now" 40 data-redirect-checkout="true" 41 > 42 <span class="material-symbols-rounded"> shopping_cart </span> 43 Buy Now 44 </button> 45 </div> 46 </div> 47 </div> 48 49 <script> 50$(document).on('click', '.add-to-cart', function () { 51 let monthsToAdd = parseInt($(".passAccessLengthMonths").val()); 52 let currentDate = new Date(); 53 let futureDate = new Date(currentDate); 54 // Add months dynamically 55 futureDate.setMonth(futureDate.getMonth() + monthsToAdd); 56 57 // Handle overflow (e.g., Jan 31 + 1 month) 58 if (futureDate.getDate() !== currentDate.getDate()) { 59 futureDate.setDate(0); // last day of previous month 60 } 61 62 // Format as MM/DD/YYYY 63 function formatDateMMDDYYYY(date) { 64 let mm = String(date.getMonth() + 1).padStart(2, '0'); 65 let dd = String(date.getDate()).padStart(2, '0'); 66 let yyyy = date.getFullYear(); 67 return mm + '/' + dd + '/' + yyyy; 68 } 69 $(".product-expireDate").val(formatDateMMDDYYYY(futureDate)); 70 71 // Then close the modal 72 $('.single_option').modal('hide'); 73 }); 74</script> The following has evaluated to null or missing:
==> barbriRedisCacheAPI.get("barbripass", productId) [in template "20096#20121#2885355" at line 5, column 77]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: response = barbriRedisCacheAPI.get("b... [in template "20096#20121#2885355" at line 5, column 66]
---- 1<#assign productId = ''/> 2 <#if (productID.getData())?? && productID.getData()?has_content> 3 <#assign productId = productID.getData() /> 4 </#if> 5 <#assign response = barbriRedisCacheAPI.get("barbripass", productId) 6 json = jsonFactoryUtil.createJSONObject(response) 7 /> 8 9 <div class="card"> 10 <div class="card-body"> 11 <div class="row justify-content-between align-items-center"> 12 <div class="col-auto col-sm-auto"> 13 <div class="btn cle_btn" id="modalPassShortName"><#if (passName.getData())??>${passName.getData()}</#if></div> 14 </div> 15 <div class="col-auto col-sm-auto pl-lg-0"> 16 <span class="sale-price" id="modalPassPrice">$${json.pricebook?replace(",", "")?number?string("#,##0.00")}</span> 17 </div> 18 </div> 19 <div class="small_heading_area" id="modalPassFullName"><#if (title.getData())??>${title.getData()}</#if></div> 20 <p><#if (unlimitedText.getData())??>${unlimitedText.getData()}</#if>:</p> 21 <ul class="common-list disc_list paddNone"> 22 <#if (benefits.getData())??> 23 ${benefits.getData()} 24</#if> 25 </ul> 26 </div> 27 <div class="btn-float"> 28 <div class="premium-cle-pass cart-item"> 29 <input type="hidden" class="product-id" value="${productId}"> 30 <input type="hidden" class="product-name" value="${json.name}"> 31 <input type="hidden" class="pass-value" value="${passName.getData()}"> 32 <input type="hidden" class="product-price" value="${json.pricebook}"> 33 <input type="hidden" class="passAccessLengthMonths" value="${json.passAccessLengthMonths}"> 34 <input type="hidden" class="product-pass" value="family"> 35 <input type="hidden" class="product-expireDate" value=""> 36 37 <button 38 class="btn pc_theme_btn btn-primary btn_maxwidth_xxl_large add-to-cart" 39 aria-label="Buy Now" 40 data-redirect-checkout="true" 41 > 42 <span class="material-symbols-rounded"> shopping_cart </span> 43 Buy Now 44 </button> 45 </div> 46 </div> 47 </div> 48 49 <script> 50$(document).on('click', '.add-to-cart', function () { 51 let monthsToAdd = parseInt($(".passAccessLengthMonths").val()); 52 let currentDate = new Date(); 53 let futureDate = new Date(currentDate); 54 // Add months dynamically 55 futureDate.setMonth(futureDate.getMonth() + monthsToAdd); 56 57 // Handle overflow (e.g., Jan 31 + 1 month) 58 if (futureDate.getDate() !== currentDate.getDate()) { 59 futureDate.setDate(0); // last day of previous month 60 } 61 62 // Format as MM/DD/YYYY 63 function formatDateMMDDYYYY(date) { 64 let mm = String(date.getMonth() + 1).padStart(2, '0'); 65 let dd = String(date.getDate()).padStart(2, '0'); 66 let yyyy = date.getFullYear(); 67 return mm + '/' + dd + '/' + yyyy; 68 } 69 $(".product-expireDate").val(formatDateMMDDYYYY(futureDate)); 70 71 // Then close the modal 72 $('.single_option').modal('hide'); 73 }); 74</script> The following has evaluated to null or missing:
==> barbriRedisCacheAPI.get("barbripass", productId) [in template "20096#20121#2885355" at line 5, column 77]
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----
----
FTL stack trace ("~" means nesting-related):
- Failed at: response = barbriRedisCacheAPI.get("b... [in template "20096#20121#2885355" at line 5, column 66]
---- 1<#assign productId = ''/> 2 <#if (productID.getData())?? && productID.getData()?has_content> 3 <#assign productId = productID.getData() /> 4 </#if> 5 <#assign response = barbriRedisCacheAPI.get("barbripass", productId) 6 json = jsonFactoryUtil.createJSONObject(response) 7 /> 8 9 <div class="card"> 10 <div class="card-body"> 11 <div class="row justify-content-between align-items-center"> 12 <div class="col-auto col-sm-auto"> 13 <div class="btn cle_btn" id="modalPassShortName"><#if (passName.getData())??>${passName.getData()}</#if></div> 14 </div> 15 <div class="col-auto col-sm-auto pl-lg-0"> 16 <span class="sale-price" id="modalPassPrice">$${json.pricebook?replace(",", "")?number?string("#,##0.00")}</span> 17 </div> 18 </div> 19 <div class="small_heading_area" id="modalPassFullName"><#if (title.getData())??>${title.getData()}</#if></div> 20 <p><#if (unlimitedText.getData())??>${unlimitedText.getData()}</#if>:</p> 21 <ul class="common-list disc_list paddNone"> 22 <#if (benefits.getData())??> 23 ${benefits.getData()} 24</#if> 25 </ul> 26 </div> 27 <div class="btn-float"> 28 <div class="premium-cle-pass cart-item"> 29 <input type="hidden" class="product-id" value="${productId}"> 30 <input type="hidden" class="product-name" value="${json.name}"> 31 <input type="hidden" class="pass-value" value="${passName.getData()}"> 32 <input type="hidden" class="product-price" value="${json.pricebook}"> 33 <input type="hidden" class="passAccessLengthMonths" value="${json.passAccessLengthMonths}"> 34 <input type="hidden" class="product-pass" value="family"> 35 <input type="hidden" class="product-expireDate" value=""> 36 37 <button 38 class="btn pc_theme_btn btn-primary btn_maxwidth_xxl_large add-to-cart" 39 aria-label="Buy Now" 40 data-redirect-checkout="true" 41 > 42 <span class="material-symbols-rounded"> shopping_cart </span> 43 Buy Now 44 </button> 45 </div> 46 </div> 47 </div> 48 49 <script> 50$(document).on('click', '.add-to-cart', function () { 51 let monthsToAdd = parseInt($(".passAccessLengthMonths").val()); 52 let currentDate = new Date(); 53 let futureDate = new Date(currentDate); 54 // Add months dynamically 55 futureDate.setMonth(futureDate.getMonth() + monthsToAdd); 56 57 // Handle overflow (e.g., Jan 31 + 1 month) 58 if (futureDate.getDate() !== currentDate.getDate()) { 59 futureDate.setDate(0); // last day of previous month 60 } 61 62 // Format as MM/DD/YYYY 63 function formatDateMMDDYYYY(date) { 64 let mm = String(date.getMonth() + 1).padStart(2, '0'); 65 let dd = String(date.getDate()).padStart(2, '0'); 66 let yyyy = date.getFullYear(); 67 return mm + '/' + dd + '/' + yyyy; 68 } 69 $(".product-expireDate").val(formatDateMMDDYYYY(futureDate)); 70 71 // Then close the modal 72 $('.single_option').modal('hide'); 73 }); 74</script> Related Courses
Freight Broker Liability After Montgomery v. Caribe Transport: Navigating Changes in How Fault is Evaluated
Wednesday, November 11, 2026
1:00 p.m. ET./10:00 a.m. PT
Noneconomic Damage Amounts in Personal Injury Cases: Linking the Value to Injury Following Recent Decisions
Monday, August 24, 2026
1:00 p.m. ET./10:00 a.m. PT
AI-Related Healthcare and Medical Malpractice Risks: Potential Defendants, Standard of Care, Insurance Coverage
Tuesday, June 16, 2026
1:00 PM ET/10:00 AM PT
Countering Reptile-Themed Opening Statements: Defense Strategies for Refocusing Juror Attention
Tuesday, April 28, 2026
1:00 p.m. ET./10:00 a.m. PT
Recommended Resources
What We Wish Our Friends and Family Knew About Bar Prep
- Law School Tips
- Bar Exam Tips and Tricks
- Job Search
- Mental Health & Wellness