Sometimes odors can’t be tackled only with soaps and scrubs. Here are a few surprising factors that can give you B.O.—and how to fix them (fast, we promise!).

A new Rx

iStock/gemphotography

You take medicine to feel better. But as a side effect, some medications (such as morphine or fever-reducing drugs) make you sweat. And that often means more body odor. Also: Hundreds of medications, such as antihistamines, decongestants, and muscle relaxers, as well as those to treat nerve pain and anxiety, can cause dry mouth, one of the most common causes of bad breath, says the Mayo Clinic. Use a stronger, clinical-strength antiperspirant/deodorant, and swipe it on at night before you go to bed. This helps block odor-causing sweat before it ramps up in the morning. You can also talk to your doctor about switching meds or adjusting your dosage. To alleviate dry mouth, the American Dental Association suggests sugar-free gum or candy.

A spicy food addiction

iStock/Magone

Sulfur-containing gases are what causes body odor after you eat certain foods. Foods heavy in garlic, curry, or other spices release these gases when your body breaks them down, says Marie Jhin, MD, a dermatologist who practices in San Francisco and San Carlos, California, and author of Asian Beauty Secrets. These smelly gases are released through your pores, leaving you with body odor for a few hours post meal, she says. To avoid this kind of body odor, be smart about meal timing. “Don’t eat these foods before an important meeting or a date,” says Dr. Jhin. Already hit the Indian buffet for lunch? Don’t panic. Drink plenty of water, take a shower if possible, and apply a deodorant-antiperspirant, says Dr. Jhin. Find out some more foods that can cause body odor, too.

Sky-high stress levels

iStock/SolisImages

What causes body odor, a physical symptom, from stress, a mental cause? It’s simple: Sweat. Sweating is a natural response to stress, but the smelliest sweat actually happens when you’re stressed. “Stress” sweat comes from apocrine glands. This sweat fluid is odorless—until it mixes with your skin’s bacteria, causing a pungent body odor. (Sweat from heat or exercise is made more of water and electrolytes, says Dr. Jhin). Proactively wear a clinical-strength, over-the-counter antiperspirant/deodorant so you’re covered when stress strikes. (Even better, leave a stick in your desk drawer). If you still suffer from stress sweat, your doctor can prescribe a prescription antiperspirant or recommend Botox (FDA-approved for underarm sweating). Also: Keep up with your laundry. “Washing clothing regularly decreases the number of bacteria available to break down our sweat into odor-causing byproducts,” says dermatologist Lauren Ploch, MD, of the Georgia Dermatology & Skin Cancer Center in Augusta.