diff --git a/lib/modules/Calendar.pmod/Event.pmod b/lib/modules/Calendar.pmod/Event.pmod
index 4a8fbe53e124bf9ed288e0bc3292f8f3f556df5d..bb72bad213e5e1630cf0fd3002e4eda43053c132 100644
--- a/lib/modules/Calendar.pmod/Event.pmod
+++ b/lib/modules/Calendar.pmod/Event.pmod
@@ -1079,7 +1079,7 @@ class Easter
       int solar=century-century/4;
       int lunar=(century-15-(century-17)/25)/3;
       int epact=(13+11*(y%19)-solar+lunar)%30;
-//  if (epact<0) epact+=30; // not neccesary for pike
+//  if (epact<0) epact+=30; // not necessary for pike
       int new_moon=31-epact;
 //        werror("epact: %O\n",epact);
 //        werror("new_moon: %O\n",new_moon);
diff --git a/lib/modules/Calendar.pmod/TimeRanges.pmod b/lib/modules/Calendar.pmod/TimeRanges.pmod
index 18674641a3a54d77f1d8f4ce54837bdf743217c7..8b3fc532090c56f1b5356c1ef17d6643166aa4de 100644
--- a/lib/modules/Calendar.pmod/TimeRanges.pmod
+++ b/lib/modules/Calendar.pmod/TimeRanges.pmod
@@ -315,7 +315,7 @@ class TimeRange
 //! method array(TimeRange) split(int|float n, void|TimeRange with)
 //!	This divides the called timerange into
 //!	n pieces. The returned timerange type
-//!	is not neccesarily of the same type as the called one.
+//!	is not necessarily of the same type as the called one.
 //!     If the optional timerange is specified then the resulting timeranges
 //!     will be multiples of that range (except for the last one).
 //!
diff --git a/lib/modules/Standards.pmod/ID3.pmod b/lib/modules/Standards.pmod/ID3.pmod
index 884cdc70c20a4202a9fccb65f43184ba6083e607..d5a93c5ab3f73b2925db74116519af057ed437e5 100644
--- a/lib/modules/Standards.pmod/ID3.pmod
+++ b/lib/modules/Standards.pmod/ID3.pmod
@@ -7,7 +7,7 @@
 //! @note
 //! Note that this implementation is far
 //! from complete and that interface changes
-//! might be neccessary during the implementation
+//! might be necessary during the implementation
 //! of the full standard.
 
 //
diff --git a/lib/modules/String.pmod/Elite.pmod b/lib/modules/String.pmod/Elite.pmod
index 6f34f32872512def75b9899653110665a74fe531..4a37bb471af96cc03f6c87661ceb8ed96fa5e57d 100644
--- a/lib/modules/String.pmod/Elite.pmod
+++ b/lib/modules/String.pmod/Elite.pmod
@@ -1,7 +1,7 @@
 
 #pike __REAL_VERSION__
 
-// neccesary translation (in order)
+// necessary translation (in order)
 array(array(string|array(string))) elite_short =
 ({
   ({" you are"," your"}),
@@ -240,7 +240,7 @@ string elite_word(string in, void|int(0..100) leetp, void|int(0..2) eightbit)
 //! leetness (100=max leet, 0=no leet).
 //!
 //! The translation is performed in three steps,
-//! first the neccesary elite translations (picture -> pic,
+//! first the necessary elite translations (picture -> pic,
 //! cool->kewl etc), then optional translations
 //! (ok->k, dude->dood, -ers -> -orz), then
 //! calls elite_word on the resulting words.
diff --git a/src/modules/Image/image.c b/src/modules/Image/image.c
index 54586e63c98cece1fdc591d79ef2e01968e5495a..df65943b8d2783338297c29c0c45955cec665ce4 100644
--- a/src/modules/Image/image.c
+++ b/src/modules/Image/image.c
@@ -1280,10 +1280,10 @@ static void image_change_color(INT32 args)
 **! method array(int) find_autocrop()
 **! method array(int) find_autocrop(int border)
 **! method array(int) find_autocrop(int border,int left,int right,int top,int bottom)
-**! 	Removes "unneccesary" borders around the image, adds one of
+**! 	Removes "unnecessary" borders around the image, adds one of
 **!	its own if wanted to, in selected directions.
 **!
-**!	"Unneccesary" is all pixels that are equal -- ie if all the same pixels
+**!	"Unnecessary" is all pixels that are equal -- ie if all the same pixels
 **!	to the left are the same color, that column of pixels are removed.
 **!
 **!	The find_autocrop() function simply returns x1,y1,x2,y2 for the
@@ -1297,8 +1297,8 @@ static void image_change_color(INT32 args)
 **! arg int right
 **! arg int top
 **! arg int bottom
-**!	which borders to scan and cut the image; 
-**!	a typical example is removing the top and bottom unneccesary
+**!	which borders to scan and cut the image;
+**!	a typical example is removing the top and bottom unnecessary
 **!	pixels:
 **!	<pre>img=img->autocrop(0, 0,0,1,1);</pre>
 **!
diff --git a/src/modules/MIME/mime.c b/src/modules/MIME/mime.c
index 001d44d1a2dc5e778437acd030bdb17260382381..adb7cfa072624676c28340e3cfa8343a8a557ee0 100644
--- a/src/modules/MIME/mime.c
+++ b/src/modules/MIME/mime.c
@@ -689,7 +689,7 @@ static void f_encode_uue( INT32 args )
       /* Restore the saved character */
       *kp = k;
 
-      /* Replace final nulls with pad characters if neccesary */
+      /* Replace final nulls with pad characters if necessary */
       switch (last) {
       case 1:
 	dest[-2] = '`';
diff --git a/src/peep.in b/src/peep.in
index a9419a6257af8eac73a28a3b4403d721374270bc..bb7e5d754e9191edd8bb7c84282012beff910991 100644
--- a/src/peep.in
+++ b/src/peep.in
@@ -460,7 +460,7 @@ EQ BRANCH_WHEN_NON_ZERO : EQ QUICK_BRANCH_WHEN_NON_ZERO($2a)
 SIZEOF BRANCH_WHEN_NON_ZERO : SIZEOF($1a) QUICK_BRANCH_WHEN_NON_ZERO($2a)
 SIZEOF_LOCAL BRANCH_WHEN_NON_ZERO : SIZEOF_LOCAL($1a) QUICK_BRANCH_WHEN_NON_ZERO($2a)
 
-// It is not really neccessary to set up a frame for these cases.
+// It is not really necessary to set up a frame for these cases.
 // Deluxe version: Also avoid the argument/local clearing, asm-level
 // register pushing etc.
 //